Latency is a huge factor on a tcp stream where distance is involved that can restrict your speed but under 300kbps is just plain awful. Just for comparison, I'm also streaming from Europe to the U.S...about 5000 miles. 5mb upload stream to a 20mb stream in the U.S. My max speed is 1.3mbs on p.c, slingcatcher and iPad. When I was originally on a 1.5mb connection, I was getting around 768kbps to the U.S. If I remotely connect to my router, turn off port forwarding changing the TCP stream to a UDP SNATT stream, I was hitting 2mb's easy on my P.C. Would love to leave the port forwarding off, but I need it for the slingcatcher. The point is a TCP stream is extremely vulnerable and I've came to the conclusion that my video stream bottlenecks the minute it hits the East coast then the speeds just go south as the stream networks it's way to the West coast. Saw someone on the forum was getting a 3mb stream from a 10mb upload speed to florida from the U.K which isn't bad, but like you I am disappointed that I don't get a faster connection speed. The difference between you and I is that my speeds are consistent, whereas yours are all over the map.
It's not really an answer to your question, it just addresses a reason for why we can lose a lot of speed when greater distances are involved.
I can see when I run a tracert that I have one hop between my West coast city and the UK. I'm not really learning where the bottleneck is. When I'[ve reported my tracert findings to the US ISP they start on about my local network--completely ignoring my requests that they investigate their own network. Same with the UK ISP--they just say outside the UK is not their responsibility.
Does anyone know of any tools that can be used to investigate further?