There are a couple of kits available online. The one I used is called Zero Delay arcade kit and consists of a
USB encoder, Joystick, 2 smaller buttons, 8 larger buttons and cables.
Best is to have all the buttons of screw-in type, but you can make the snap-in buttons stay in place by adding some electrical tape around them.
There are other joysticks, buttons and encoders that works well with this type of build too. Just make sure you get:
Joystick (long shaft if possible)
USB Encoder + cable
2x24mm buttons + 8x28mm buttons or 10x28mm buttons
Cables for the buttons
# Arcade controller kit
Zero Delay arcade kit
Zero Delay USB encoder
8 x Push button with nut, 28mm, screw-in
#Small push buttons
2 x Push button, 24mm, snap-in (screw-in is to prefer)
Cables to connect all the buttons to the USB encoder
This connects to the encoder.
#Printed button layout
Printed button layout in A4 format. See download page.