I voted for EE because it provides the best 3G/4G coverage, and the 4G speeds are awesome. When 4G launched on the Wellingborough mast, I got 90Mbps out of it.
My preference would be:
1) EE - best for coverage on 3G and 4G, best for speed - though their data plans are expensive and no unlimited option
2) Three - speeds are slower in congested areas and not much 4G coverage, but their 3G coverage is solid. Also, no 2G network, which is a positive in my mind as 2G tampers with media streaming quite nicely, and my S4 likes to drop back to 2G!
3) O2 and Vodafone, tied for last place. I'll review them... when they finally get 3G to their rural masts. Voda don't have any coverage (3G/4G) whatsoever between Stanwick and Peterborough!
As for MVNO's... usually you get a worse deal, with a lower priority, and too many constraints, though they are usually cheaper than the MNOs. Virgin Mobile is a prime example - "unlimited" data which is speed capped in a horrible way at 3.5GB usage, no 4G access and no official tethering (though you can still tether - I tethered over half a gig over Virgin 3G recently, and they haven't done anything!).
If I had to choose a mobile operator right this moment... probably Three on the 600 minutes/AYCE data deal. Having no nasty 2G and truly unlimited 3G/4G is a bonus. EE are too pricey for their high data tariffs and, in my experience, unless there is a way to disable 2G (but keep 3G/4G), I won't be able to use 4G anyway because that would activate 2G (I use 3G only mode in most cases) and negatively affect the ability to stream media.