I've had good success injecting contact cleaner into the contacts from the rear of the PCB. The problem tends to be contact oxidation, either the PCB centre contact or the stainless steel dome itself, probably both.
The button centre contact always goes through a PCB via behind the centre of the dome, this is always an open (non-tented) via to allow air in and out as the dome is pressed. Just put a drop of your favourite contact cleaner/conditioner, Electrolube EML in my case, but probably Deoxit something in the US. Exercise the dome and you will see an air bubble appear when you press it and the cleaner drawn in when you release. Do this a couple of times and then wipe off any excess.
I've done this on several dome contact remotes with long term success, in fact they tend to improve with time.