Spell is correct, If Virgin mediocre have not hold up their side of the contract ( IE supplying the service you have paid for )., then THEY are in breach of contract.
Not only should you be able to leave without penalty, but you should also be able to claim back the payments you made previously for the service you didnt receive.
We ourselves are looking at moving very shortly. Virgin have mis-advertised a service they cannot provide, and false promise after false promise means we will be leaving soon also.
Sky normally have the best deals in the summer ( after the prem footy has finished ) so we will be looking then. At the moment we are paying £85 per month for 20mbs of broadband ( should be 200mbs), simple TV ( No movies or Sports ) and a phone line. i am sure we can get a top packge with Sky/BT for that money, or the same package for half the price.