I just recently switched back to 3 and this seems to have improved a great deal recently, both from what people have been saying and my own experiences.
Though to be fair, the only way was up: last time I used them (~3yrs ago? just before the first iPhone) the call centre certainly couldn't have gotten any worse. But they must've realised as it's been a widely noted improvement.
I'll probably only pick contract as a last resort or if it's actually a good deal. Recently I've found that I don't use the phone for voice/text nearly enough to make it value for money, and 24 months at the current pace of development is far too long. I'd prefer to upgrade each new iPhone, rather than every other.
And they probably do still squirm if you try to leave - best advice there is to just send a recorded letter as phoning them will get you nowhere.
Very pleased that it's coming to 3 - up North it's pretty much the only provider that has 3G. Followed by Orange, T-Mobile, Vodavone, O2 in approximately that order of 3G density. I shan't miss O2.