It does depend on coverage
I always see people say XXX is crap or XXX is fine but it does all depend on where you are or where you use it the most, as always it's usually down to either coverage or too many users.
I use both T-Mobile & Giff Gaff for data & for where I use them they both work well.
T-Mobile works best at home as I get a good strong signal, all the other networks don't have good wall penetration.
Giff Gaff works well at home when used in an unlocked MiFi unit hung up high but I tend to use it more when on the train. On the routes I use I find that the O2 network tends to be better than T-Mobile (I had tried 3 PAYG on the routes as well). Each one has it's own set of 3G blackspots but you get to know where they are.
NB: I had used O2 for the train until recently, switching to Giff Gaff last month to try it out - actually finding it more responsive but that could be down to the APN not being as heavily used as O2's.