an xbox360 controller is the only best choice here, what not it being widely supported. wired is usually preferable since you can get one meant for the console far cheaper than one meant PC (yeah, they apparently charge you for the driver), and just download the driver for free. if you do decide to get wireless, you'll need a usb wireless dongle for it. the PC version will come package with it, but if you just so happen to have one, then you'll need to buy the dongle. unfortunately, i keep hearing of overheating issues regarding the official dongles resulting in failure in the long run, with cheaper 3rd party dongles from a no-name brand having a better chance of lasting longer.
alternatively, there's Logitech's F310 & F710. they're quite solid & cheap. lots of complaints regarding dead zones on the analog stick though, and i'm not at all sure if they fixed that.
if you want something fancy, there was a Razer xbox360 controller look alike. improvements includes a better D-pad and snappier buttons from what i'm told. damn expensive though.
other than that, there's the PS4 controller and Steam controller, though i don't quite know well supported the former is & the the latter isn't widely available yet & may not be satisfying