Designing a factory reset switch
Use a standard PCB button, but require the user to press it in a sequence that would not happen accidentally. 

For example: 1 long press, followed by a long release, followed by a short press. The long press and release could be 2 seconds each, the short press could be 0.5s. Obviously you have to allow for a tolerance on these timings.

Or, press the button 3 times within a certain time interval, etc.