I actually recommend using a USB high-power wifi adaptor, on a USB extension cable.
PCI/PCI-E wireless cards, are hamstrung by the fact that their antennas are directly connected at the back of the computer to the card, and thus you can't really move them around to get the best signal. Sure, you can bend them straight out or fold them against the case, but the case is metal, and tends to block or reflect the signal.
You can get gold-plated USB extension cables cheap at Monoprice.com.
These are only 'G' wireless, but they get good signal, often where other wireless cards or USB adaptors will only get one bar, these can get three or four bars. (Although, on one particular 'N' router, I found it only connected at 1Mbit/sec for some reason, due to an incompatibility.)
It's a realtek chipset, so it's well-supported. Especially for Linux, if you want to do any wireless pen-testing.