Best way to count glass marbles
I think any of your suggestions can be made to work. 

A small microswitch would be my first choice (I have a box of tiny ones that take almost no force to close). 

But that is mechanical so it will break over time. A beam breaker might be a better solution in the long run. I think even a transparent marble (don't they all have some coloration?) will block the light at least on some of the positions. You might need to suppress quick 'open/close' actions due to parts of the marble passing the beam while other parts don't. If you know a little about the rolling speed and have a distance that is at least a few marble diameters this should not be a problem.