Until now I was using a DIY serial programmer, and just some weeks ago I bought a PICKIT2 clone in ebay...... I really recommend it. Being able to program using USB is a must these days, and it's really convenient to use in circuit programming, no more need to remove the PIC from the circuit!
I couldn't make debugging work yet, I think it is related to some missing pull-down resistors in my clone... I need to verify.
But I highly recommend it.
Mateu