Around 30 MB/sec is quite typical maximum transfer speed.
USB 1.0 and USB 2.0 connections are half-duplex, meaning data flows in only one direction at a time. Shared connection between both directions is probably biggest reason for slowdown than expected transfer speed.
In comparison, USB 3 and Ethernet are full duplex and do meet expected transfer speeds better.
In my machine, an USB2 flash drive speed never exceeds 33 MB/s in test application, even though Windows reported 33-37 MB/s speed. I did some testing and enabled disk cache (device properties) and increased usb max transfer size to 2 MB (KB2581464) but could not make it any faster.