Found out the source of the problem. My router would drop me if it got flooded with large UDP packets. When I connect directly to my cable modem I am able to transfer data pretty well.

Turns out my firewall drops me if I send a large number of packets over around 60k. This is true even of TCP connections. Heck, it even dropped me when I pinged it with 64k of data. This is hardly optimal........