Some of our light switches are giving light shocks and sometimes you can see a spark. What
Could be static - kinda depends on the nature of the shock/spark. Not uncommon in the winter (dry inside the house) to get a static discharge to the grounded screws - try touching a doorknob or some other metal thing before touching the switch - if the other metal thing has the shock then, and the switch does not, that might be it. If you still get a shock from the switch, move on to:
If it's more than just static, call an electrician ASAP...
Just a thought that I had after verifying the switch was indeed wired correctly. I took a VERY small dab of silicone caulking and put it in the switch where the small screws thread in and that solved the problem. Good silicone should not get so hard that you cannot remove the screws when you need to later.
As others have said, it's most likely just static-shock. In my experience, this happens a lot in houses in which the switches aren't grounded.
The solution would be to add a ground-wire to ground the switches, but to do that you typically need to replace the wiring for the entire circuit. Given that this is a relatively minor problem, and the solution is very time- and work-intensive, it's probably not worth it (though, adding a ground does have other safety-benefits...)