I use a Saitek Cyborg Evo, seems to be good. I've had a Microsoft Sidewinder and Logitech Extreme 3d pro before, and I prefer the Saitek. The reason is not the construction, the comfort, the look or the cost, it's the driver.
Mostly all joysticks are calibrated with a specific utility or through the control panel. The Saitek's drivers allow you to calibrate it on the fly, so if you're in the middle of a game and you realize it's slightly uncalibrated and tilting to the right, you can just put it through the full range of motion and it will recalibrate as you play. This way you never have to get out of the game and calibrate it, or calibrate before you begin playing. After a while, I found the Logitech and Microsoft joysticks needing calibration after every single bootup, and calibrating the joystick that often got annoying. With the Saitek, it's always calibrating itself, so you never have to worry about it.
I also would recommend something with twist handle rudder unless you want to shell out $350 on a stick/throttle/pedal setup.
I would recommend the Saitek X52, but you really don't need that many buttons.