I've had the same problem that you are having: transfer rates simply weren't up to specs
I have a hard drive external enclosure (generic, no name) that contains a relatively decent drive (Western Digital, 20 Gigs: ATA100) which is not the bottleneck in the setup.
The USB2.0 host controller was based on a VIA 6202 chipset and that's what caused the problem: transfer rates weren't even reaching 1.5 Mbytes per second, which is USB 1.1 maximum transfer rate. The host card simply wouldn't switch in high speed mode. The problem was also present in Windows.
I simply brought the controller back for a refund and went to buy another card based on a NEC chipset. Performance is now better, averaging 2.5 Mbytes per second, but it is far from the advertised numbers... I've read several mails and posts and must conclude that speeds between 2 and 10 Mbytes / second are the norm for USB 2.0 devices... Needless to say that it's far from the expected 60 Mbytes/second!
So, to make a long story short, just avoid the VIA 6202 chipset on a USB 2.0 card. Unfortunately, it is probably what you have on your motherboard if it came with USB 2.0 ports. You may be able to know this by using usbview or typing:
cat /proc/bus/usb/devices |less
Aside from that, I don't think there is anything else that you can do.