Do you have a software firewall on the machine?
I use a software firewall on one of my old machines (that shares my DSL connection) and when I transfer via a drive share, the software firewall uses a lot of CPU time and bogs the machine down a lot. Unfortunatly the software firewall (Sygate) analyzes all of the packets, even ones that are allowed on my LAN and this eats up the CPU.
One thing you might try to do to isolate it is hit ctrl-alt-delete and look at your CPU usage during a sluggish period of data transfer and see if any process is using a lot of CPU time.