We are missing some information. If there is an rpm drop on the right position, then both mags have to be working, at least to some extent. I would be suspicious of the switch in this case, as the OP mentioned. Again, if there is a mag drop in any situation, then both mags are firing.
What is your run up procedure? The correct procedure, as I see it, is to switch from both to left, note EGT rise on all cylinders, return to both, note EGT drop on all cylinders, then from both to eight, note EGT rise on all cylinders, return to both.
I would suggest a bad switch, but this is easy to test. Disconnect the p-leads from the mag switch and start the engine. Touch each lead to ground (a screw head or other metal part. If both give a mag drop, then both are working. Hook the switch back up and see if there let returns. If so, then suspect the mag switch. Safety note, don't leave the p-leads disconnected, as a turn of the prop can be catastrophic if either of the mags are hot.
Another possibility is that one mag is retarded more than the other such that switching off the retarded mag does not give you a significant rpm drop, while switching off the advanced mag will give a significant rpm drop.
As I mentioned above, and as others have mentioned, I like to use EGT's as a mag test. I listen for an rpm drop, but don't really care how big or small (within reason), as long as all of the EGT's go up on each single mag.
Worth noting here is that a lot of planes have an AD to do the switch off test to verify that the off position kills the engine. This means that switches can fail and that you should check that at least periodically (and at idle). Your intermittent problem sounds like a failing switch to me, although if a certain procedure gets the same result every time sounds a little less like a failing switch.