I've swapped to EE after moving to O2 from Orange when the iPhone first came out.
02 was a terrible choice for the rural side of Cheltenham.
EE has been much better.
Heard good things about Vodafone and nearly every time I am outta signal (outside the county) someone with vodafone has 5 bars haha.
Have you checked the coverage map