If it's the HD you are wanting it for then it has to be Sky. Virgin only had 1 HD channel (don't know if they've anymore yet)
Freesat is another option, They have more HD channels (I don't know how many) and they are just a one off payment with no subscription as far as I know.