Hi Luke
Yes - you should have enough bandwidth in the Virgin service - and I doubt that is causing you issues. However, I've seen situations where Virgin just turn-off the service for maintenance without notice - so it's not so good for a business!
I don't know what Draytek guide you are following, but I've had great success by Setting Quality of Service, in the Bandwidth Management section. Enable the WAN route you are using, then create a VoIP class [using the Class 1 Index] consisting of the local address of the 3CX server with any service type. Setup the WAN by allocating a decent %'age of bandwidth to class 1, and then allocate just 1% to class 2 and to class 3 - leaving 'Others' to carry the remainder.
The effect of this is that whenever any traffic is going to or from the 3CX server, it is allocated the pre-set bandwidth, with any other WAN/LAN - Internet traffic getting whatever remains. I have lots of sites working this way with Draytek's and have no problems. Drop me a note if you want to make contact and discuss the Draytek config' in more detail.
With the amount of bandwidth you have available, I'd set the SPA phones to use G711u codec's as first choice, G711A second, and G729 third.
Only other thing to look at is what is happening on your own LAN ... Do you have network switches that are able to prioritise the VoIP over other LAN data flow????
best regards ...