I design game/media boxes as a hobby. I used Dualshock 2 and 3s for a decade (Despise the battery life in the DS4 among other things, don't like the dpads on Xbox controllers) until my most recent build, where I went with Switch Pro controllers.
I'm assuming you're running Windows? The Pro Controller has an amazingly good Windows driver and utility package called BetterJoy. It presents the device as an Xbox controller, so most things Just Work with it.
You can also assign a function like a keyboard key to the Capture button: I bind it to F2 so I can call up the main menu in Retroarch and save/load states from there. For other emulators I have keybinds set where pressing Capture along with another button will do state management (Capture+Minus saves, Capture+Plus loads), etc.
(I use a Dualshock 1 connected to a USB adapter that presents itself as a Dualshock 3, which I then layer an Xinput driver over for my Desktop: Convoluted but works extremely well)
*edit* I forgot to mention 8BitDo makes a Wireless USB Adapter that supports a ton of controllers with no software needed for XInput support.