Since the bulb works, have you checked the door switch?
Just had the similar problem the other day and over a year ago. The 1st time this came up it was on the passenger side and I could manually turn the light on. So I removed the overhead console and notice the light switch was separating, so I epoxied it together added some tape to relieve the stress. Now just 2 weeks ago the drivers side did the same thing with the exception that manually operating the light worked intermittently, so I remove the overhead console once again and found that the switch had completely seperated, worse than the first time. This time the switch was unrepairable so I bought a new harness for approx $35. The switches they have in the overhead are complete garbage and I'm surprised they held up this long...
Pretty simple and no tools req'd, should take only a few seconds. Open up the garage door opener part of the console and you will see two vertical tabs in the front, push those at the same time (can't remember if it is forward or backward) and at the same time give a light tug down to free the tabs, but do not pull to far, I would say only a 1/2" to an inch will let the tabs clear. Then slide the whole rear console to the rear of the truck. If you see that the switches are seperated, even a small amount it will cause intemittent issues with the light... Hopes this helps. .
Sounds familar, springs popping out and the brass contact jamming when compressed. The harness was direct from Dodge, I like yourself did not want to buy another one but I didn't want to spend the time trying to fab something up, figured I had already got 7yrs out of this one and it was fairly reasonable in cost so I just went OEM. I told the wife (and myself) to make sure not to "hit" the switch so hard becasue she would slap it on occasion