I currently use 2 USB programmers, a GQ-2X and a Pickit 3. They're both USB only - no parallel port or external power required.
If you think you might possibly use PIC24 or PIC32 chips, the Pickit 3 is a great deal for around $45 prior to shipping. The in circuit debugging is a huge plus. I use it with both Windows XP 32-bit and Windows 7 64-bit.
I keep the GQ-2X for programming EEPROMs and most 8-bit Atmel ATTiny and ATMega chips. The new model is the GQ-4x and advertises that it supports 32-bit & 64-bit versions of Windows XP, 7 & Vista. It's around $95 prior to shipping. Make sure your chips are on the supported list. The last time I checked it didn't include the ATMega1284p.
http://www.mcumall.com/comersus/store/comersus_viewItem.asp?idProduct=4282
On a side note, I used the ATTiny series for a couple years before moving to the ATMega. I finally went to the PIC24 then PIC32 because they're usually a bit cheaper and have more peripherals than comparable Atmel UC3 chips. I used the PIC24FJ64GB002 for the first NES USB keyboard adapter (DIP package) before moving to the PIC32MX series.