I am using a Garmin 18-X GPS, which is an inexpensive bare-bones hockey puck with bare wire leads ($64 at Amazon).
Some links I found helpful:
Using xgps on Ubuntu, I can see about 8 satellites with the receiver a few feet away from my west-facing window. It doesn't seem to require a great fix to provide the 1 pps output.
Applications
RFI
It turns out (no surprise) that the USB port of my computer is a rich source of RF hash! Using the USB port as an unfiltered source of +5 volts to power my interface is not a great idea. I can hear lots of "music" on my ham receiver that is related to the various activity cycles in the computer. Entertaining and interesting if you're into computer security perhaps, but not good for sensitive RF reception.
Perhaps a separate 5 V supply will be good enough, or perhaps I will have to abandon the USB data connection, too. I don't really need to be at Stratum 1. Ordinary NTP-based Internet time sync is good enough for nearly all purposes.
Something Neat
I came across an Analog Devices USB Digital Isolator chip. Info here. It provides a fully isolated connection that should allow you to use USB connections in noise sensitive systems without getting the computer hash problem. I'd like to try it, but it's a SOIC_W package, which is a little awkward for my prototyping technology...