My advice would be check the status of the NIC in windows, make sure both NICs are correctly operating at 1Gb/s. If they are Gigabit NICs but showing as 10 or 100Mb/s it could mean a bad cable causing it to fall back to a slower speed (10 and 100 Mb/s only require 2 pairs of wires for example, but gigabit requires all 4 pairs, so if 1 wire was damaged Gigabit would not be possible but slower speeds may be).
Also it is worth trying to the file transfer when both machines are idle, as I know from my network that I can transfer several GB files to another machine on my gigabit network at 40 to 50 MB/s when the destination is idle, but if the machine is running a game or watching a video that speed can drop to 6 to 14 MB/s.
And regarding crossover cable, it is true that like devices require a crossover cable for communication, but one of the requirements for Gigabit Ethernet is Auto-MDIX, which regardless of the cable being a straight-through or crossover cable the NIC can internally flip the pairs if needed.