Try this (temporary)
I had a switch that would only work partially (would only make the seat back move, not the seat cushion go back & forth).
I removed the adjusting knob, took a can of electrical contact cleaner, put the small tube into the spray head, inserted the tube through the opening into the switch and gave it a shot.
I immediately replace the knob and moved the seat position to where I wanted it. Temporary fix but it worked for me.
Switches are easy to replace but (for a small electrical part) rather expensive. I think I paid $80-90 for mine.
Scotts Valley, CA.
1993 300 CE Cabriolet (A124) 131K miles
1997 C-280 133K miles
2000 BMW R1100RT 69K miles
1989 300 E 216K miles (sold)