I'm on 3. I have excellent 3G coverage. I was previously on vodafone with the 3GS and it was poor.
I think o2 are the best as far as giving free Internet depending on topups. Don't tell them you have an iPhone though as they will tell you you need a 'special iPhone tariff'. Special meaning more expensive...