Might be oxidization of the contacts, with sliders this can be cleaned and lubed with canned cleaner/lube. It used to be available at Ratshack, I can lasts a long time for home use & I'm still using the can I bought 15 years ago. You will probably need to take down the overhead pannel to do this. You won't want to get lube all over your interior, just unclip the pannel from the wiring.
I hapen to have mine off and in my hands right now to look at it. The slider and the 2 map light switches are on a metal bar, the main problem is that you will not be able to lube/clean the slider with out breaking off the 8 melt down plastic tabs. I'd guess you can just break out the bar, the plastic slider extension thingee looks like it'll come off too, and just squirt a little cleaner/lube on the top/open part of the slider where the arm is. Move this back and forth a dozen times, give it another squirt to flush out any loosened up crud.
Glue the switch bar back down, maybe some 2 part epoxy, let it harden, re-atach to the wiring then test it out.
.
.
You may have an impedance mismatch between the subamp and the newer head unit. The amplifier is receiving speaker level signal from the head unit and on the stock radio this was going to the speakers (rated at 10 ohms I believe), and the sub amp. With the new head unit you may be overdirving the subamp and be pushing it into clipping. You may need to add 4 low impedance resistors to the subamps inputs inorder to cut back on the power going into the subamp. I'm thinking 4 identical resistors with a value of 1 to 3 ohms each.
.
.
My sugestion is to try cleaning the slider first and getting back to us with the results.
------------------
Ol' Paint, 88 Base coupe auto.
Turning white on top, like owner.
Leaks a little, like owner.
Doesn't smoke, unlike owner