I have just gone through the torture of ending a contract with 3 Mobile, who, from my experiences, have an awful service and very poor customer service.
I have now gone back to O2 and am very pleased with the superb service I receive. If you go into an O2 store, the staff are usually pretty clued up and can deal with most problems there and then.
They have UK call centres with British people who can understand what you are talking about and aren't just reading things off a checklist.
I also think the bonuses you get on O2 are superb and they really reward you for being a loyal customer.