Sometimes, there are used PicKit 2 or 3. And sometimes, there are other alternative programmers which might be cheapper.
I think Snap could do programming for both PIC and Atmel microcontrollers and also cheapper (under $20?).
For PicKit2 (version 2.61) and PicKit3, they have their own programming software, independent of IDE. Many times, if IDE could not program the chip (or almost never programs the chip), I use the software to program the chip.