I did a quick speed test of three different networks in central Edinburgh and got these results (in Mbit):
Vodafone 7.83 down 17.55 up
EE 53.83 down 25.13 up
3 23.35 down 6.77 up
So, on the face of it EE is faster, but these tests were down outside of peak times.
As a regular user of all three services here are my experiences:
EE seems to carry out some kind of delay on page requests at peak times, or it may just be contention issues. This is particularly noticeable if you connect with a browser like Microsoft Edge that has a short page time out.In general, though, EE is a good service.
I find that 3 is slower, but very stable. I watched streaming videos on the train all the way from London to Edinburgh with only one short drop out of signal. That is impressive performance given the terrain. However, 4g coverage is quite restricted. A lot of the time it is running on HSDPA, but this still gives good enough speeds for streaming.
Vodafone has the best coverage in outlying areas, but it is generally not the fastest and will even revert to Edge for data in some places.
I don't have anything with an o2 connection. I stopped using o2 when there were a few months of service issues a few years ago.
Price wise, 3 is very hard to beat. I am currently paying £18 a month for unlimited calls, unlimited texts and unlimited data plus a 30GB a month wireless hotspot. It looks like they are increasing the prices of unlimited packages, but I never use more than 10GB.