Best PIC programmer?
Get a Microchip PICkit 2, about $35. It has USB, ICSP, and in-circuit debugging via MPLAB. It can also act as a standalone ICSP programmer, and can also be used as a serial port analyser and simple logic analyser.

PICkit 2

There is a newer PICkit 3, but some users claim to have had problems with it.

Alternatively, get one of the new ICD 3 units, about $150. I've replaced my old ICD 2 with one, and it's a marvelous piece of kit - very fast (high-speed USB) with several nice new features. It's a more professional unit than the PICkits; for instance, Microchip replaces them free if they ever develop a fault even if the user has done something silly to it.