I used to use Vodafone. I've tried pretty much all the carriers and Vodafone was probably the best, along with EE. EE nudges it for coverage, but Vodafone has consistently better speed (so long as you choose a contract which doesn't restrict speeds). A couple of months ago i was tempted onto a new O2 contract for a very cheap price, and it's terrible. Very patchy coverage, and unreliable speeds, often dropping out to zero. Three coverage is ok, but their speeds are poor, but they're cheap. The main problem with Three is their customer service when something goes wrong. None of the networks are much good in that area, but Three are on a whole different level of terrible.
When my current contract expires, I'll be returning to Vodafone probably.