As far as ethernet cards, the Intel e1000e *should* be theoretically
good, but they seem to fail at properly irq balancing across multiple
CPUs on recent kernels, which can cause you to bottleneck at 100% CPU
on one core.
I think we have finally solved this. At the moment, CPU usage is good and is
not limiting throughput (which could be higher though, not sure if the Tor
network is saturated?).
The key was to enable software Receive Packet Steering (RPS) introduced on
kernel 2.6.35. I wrote a small howto: http://bit.ly/aqkDvR