In my experience, with a FPGA + USB 2.0 PHY and Linux host with a decent driver it is possible to get almost theoretical throughput (minus normal protocol overhead).
In my case, saving the data to a hard drive was the bottleneck, but that was a few years ago when drives were a lot slower.