I have and have used both. I did not intend to do that, but when my first PK3 died, Microchip not only replaced it, but offered a very good discount on the ICD3 that I accepted.
They both work with MPLAB 8.92. I have not tried either with MPLAB X. I have not noticed any difference in chips supported, but I have not looked at all the possibilities. They both support the enhanced mid-range and newer 18F chips.
Differences:
1) ICD has a more robust power supply. The numbers are hard to track down, but I believe PK3 is limited to something like 30 to 40 mA (maybe less), the ICD3 can support 100 mA. If you do ICSP or in-circuit debugging that can make a difference between needing a power supply and not. I suppose an easy workaround is to get a standalone USB power supply for 3.3 or 5V. With a 12F683 in a programmer socket, the power supply of the PK3 was a problem, but there was no problem with the ICD3. That particular PK3 eventually failed and was replaced. So, that observation may not be fair.
2) There used to be a warranty difference. ICD3 was lifetime and PK3 was time-limited. However, in practice, it seems Microchip supports the PK3 with a warranty well in excess of what is stated.
3) ICD3 is said to be more appropriate for a low production environment. PK3 is said to be for hobbyists, basically.
John