But today we've struggled to get to 50Mb mostly around 40Mb.. Is that to be expected?
It depends: you need to say in detail how you're measuring.
Is your client wired into the router, or on wireless? You should be wired. Is your client device running anything else? Check your CPU utilisation during the test.
If it's speedtest.net, try selecting a different UK test endpoint. I see different performance to different speedtest.net endpoints - and overall limited to about 200Mbps since my laptop's CPU utilisation goes up to 100% (probably due to flash and/or SSL and/or animated adverts on speedtest.net). But I get full 300Mbps when testing using iperf3 to a remote host I control.
If you're timing a download of a large file, then beware many remote sites fail to have enough bandwidth to fill 300Mbps to a single client. Also, the further the site is away in terms of round-trip time, the more sensitive it is to packet loss limiting the throughput to that site.
Try to repeat the identical test at different times of day. If you can point to a particular time when throughput is poor, then that could point to congestion in the SVLAN on the backhaul link from the exchange to Cerberus (which is shared with other users). If so, Cerberus should be able to move you onto a different SVLAN.
I think you need to talk to Cerberus, let them help you with your testing methodology, and they'll be able to narrow down the issue.