If you are on any sort of contract then you will have to give notice to cancel even if your term is up, otherwise they will keep on charging on a 30 day rolling basis.
If you want to keep your Virgin number and put it on Three, then you need to request a PAC code from Virgin and give it to Three. You contract with Virgin will end as soon as the number is transferred.
Further to enli's answer - when you phone to cancel your contract, try to record the call. If you have two other phones with Virgin, you may end up with all of them cancelled, or the wrong one. Recording the call will give you some protection when the brown smelly stuff hits the fan.
Or it may all go perfectly well, in which case let us know. We only see the bad news stories on here...
I just called them and gave them 30 days notice. I also told them that my wife,son and daughter are on my account and he noted it. He asked me why I chose Three so I told him that I felt that I was lied to by them when they told me that 4G was due to 'launch in weeks' and he admitted that 4G is a long way off with Virgin. He also asked me if I was taking my number with be but I am taking the number that came with the Three sim card. My sim deal with Three is on a 12 month contract so I will see if Virgin have anything to offer next year including 4G but I doubt it.