I saw this link on iphone Wifi latency and I decided to try pumping UDP packets faster.
I started lowering my delay between receiving a ping and sending a new ping until I reached 50 ms.
At 50 ms, the UDP ping (roundtrip) was down to around 80 ms using 3G (remember, this was originally around 2000 ms)!
TCP also improved, but not as much as UDP. I would get 100-200 ms, again on 3G.
My conclusion is that iPhone powers down the antennae, which severely affects UDP. TCP is better, because the phone knows of the open connection and is faster to power up.
Incidentally during packet loss, TCP would reach pings of 1000-2000 ms. This coincides with own observations that TCP connections would occasionally suffer large delays on the iPhone.