Right now I'd personally say the Aimtrak from Ultimarc, although personally I've only tried a few. Old style lightguns don't work unless you have a crt monitor, the ones like the aimtrak use an IR light bar and a camera/sensor in the gun like a Wii remote. I had another gun (LCD Topgun I think) and it was just buggy and a pain to mess with.
There are a couple of things about the Aimtrak... I don't keep it plugged in all the time, and when I do use it Windows sometimes sees it as a different device. So when I go into MAME I frequently have to remap the controls, where it will sometimes see it as Gun 2 but other times Gun 3 or Gun 4. (Never had it call it Gun 1, my guess is it's seeing the trackball or spinner as the first "gun"). It's quick to remap the controls but a bit of a pain, but I kind of suspect that if I left the gun plugged in all the time it wouldn't do that.
It also seems like the calibration drifts a bit (maybe due to switching resolutions of the games) so I fequently recalibrate it between games, but it's a very painless process with the Aimtrak.