Just to be clear, most network links are quoted in megabits (not megabytes). Many (most?) file transfer programs report speed in megabytes. By convention MBS (or MBs or MB/s) is megabytes, and mbs (or mb/s) are megabits. in simplistic terms 8 mbs = 1 MBS, but it's not that simple. File transfer speeds are typically quoted at the application level whereas link speeds are at the bottom layer, and there's a lot of overhead (headers, checksums, etc.) that get added, which could be a few percent, or even 20-30 percent depending on protocol and packet size. I find with windows multiplying by 10-12 is a better indicator than 8.
Apologies if all this was obvious, but the comment about old 10mbs speeds left me wondering.
As mentioned, slowness can be from almost any source, and trial and error is your only friend. A lot of home hardware is really, really cheap (even if it costs a lot of money), ethernet ports on both PC and switches may be slightly flakey. Retransmissions from flakey devices can have a horrible impact on throughput not because it has to occasionally restransmit, but because it affects dynamic timers that reduce how much data can go into the pipeline. Having extra equipment to swap helps. It's also possible (with most adapters) to hook two computers together directly (though it requires you manually assign an IP address to each) and eliminate the switch.