The best controller to play retro games on your PC might well be the original controller/console it was designed for. If you like to play old games, especially Nintendo Game Boy handheld games on your PC, then Alex from InsideGadgets might have designed something that will appeal to you. The gaming electronics enthusiast has designed and built a custom Game Boy cartridge that turns any Game Boy (or Game Boy Colour, Game Boy Advance / SP) into a wireless controller.
Alex provides all the details for other electronics hobbyists in order to make their own wireless carts. However, for those less talented with soldering and so on, finished carts have been made available via the Inside Gadgets shop (now on backorder). Dubbed the Game Boy TX Cart, it plugs directly into the handheld console, just like a game cart, and doesn't require you to hack/modify your previous olde hardware in any way. On the other side of the equation - your PC (Windows / Linux), Raspberry Pi, GameCube or Wii - you will need to plug in a receiver (an extra expense).
While using your old Nintendo handheld saves you from purchasing such a controller you have to add up the costs of the cartridge (transmitter) and receiver, if you don't make your own. These devices are priced in US dollars at $23 (cart) and from $14 for the receiver type of choice.
While products are already being prepared and shipped this project seems to be still evolving. For example there are plans for greater connectivity options - a SNES receiver, NES receiver, and a Bluetooth version. Meanwhile another, smaller, TX cart that will work on the likes of the GB Micro, DS, and DS Lite is in the pipeline.