what fixed my shoulder buttons was air, and lots of it. thankfully there was nothing wrong with the switching mechanics. when i pushed down i had to push HARDER than before. nintendo wanted $80 or something like that just to look at it. i fixed it by pulling the plastic away from the shell (the best i could) and blowing a ton of compressed air in there. i also blew with my mouth as the air didn't have enough pressure to fix it the second time it happened. since i got out the dust or whatever was in there i haven't had an issue. that was probably around 2 years ago.
it could be that the switch itself is broken. last i checked you could buy replacements all over the web. a tri-wing will cost you about .99 cents and the switch a few bucks. i'm just not comfortable taking apart my ds but i hope you are if it comes to that.
I've fixed a couple 'broken' DS L and R buttons by just blowing. Just put my lips to the side of the button and give a couple good strong quick blows. It seems the DSs really have a problem with simple dust 'breaking' those buttons.
Invierno is the first guy (besides yours truly) I've ever seen answer this question correctly. Yes, the fix is simple contact cleaner, which you can get at Radio Shack etc. A couple short blasts right into those little microswitches and they'll be good as new. Works on old SNES controllers, GBA's, NDS, you name it. And, if youre looking at a choice between contact cleaner w/ lubricant or w/o lubricant, buy the plain no lube stuff.