Smowball
When does your current contract period finish ?
I believe virgin contracts run for 18 m periods - so if you have not had a variation since the start of the last period , you can leave without any penalties , when the period finishes .
You then phone them up and ask to be put through to their retentions dept .
Tell them your'e considering moving to another provider if they can't offer you a better deal .
More often than not they will make you a better offer to retain your custom