Did you say you're using a router? is that an off the shelf consumer grade router (not switch)?
I'd say thats most likely your bottleneck. To verify this,
Plug the laptop directly into the desktop.
Set your Laptop and desktop to use a static IP address like 192.168.1.10 (laptop), 192.168.1.11 (desktop).
This should allow the laptop to talk directly to the desktop. Run iperf between them and report the result back here.
That should work as most modern network cards can auto-sense transmit/receive wires unlike the old days when you used to have to build a crossover cable.
If you see a marked increase then your router is the culprit. Some of them have switches on the back, others can actually route between ports. Many of these routers are terrible performers. If you do find this is the problem then if I were you I'd either upgrade the router (which is probably fine for internet use) or go and buy yourself a GigE switch and cascade that onto the router switch. Plug your laptop and desktop into the switch. That way, they will bypass the router to talk to each other.
Make sure you change your laptop & desktop back to DHCP when you've completed the experiment.
To give you an idea, you should get I would think 650Mbit/s and above. iperf doesn't use the harddrive unless you tell it to. So it's memory to memory or really testing the network.
On of the other bottlenecks is actually how quick your CPU can transfer data from the memory to the network card. Networks that are on PCI express seem to operate better. I think laptops are generally fairly cheaply built these days so if you don't see much above that then this could be the other bottleneck.
Also, consumer grade switches can often only cope switching 1GB between any two ports whereas high end managed switches can switch at wire speed on all ports simultaneously.
That's part of the reason they cost so much more.