I use MPLAB IPE for programming.
I previously used a generic / knockoff PicKit 3, and it worked okay. It was a little slow, and not 100% reliable. Sometimes I had connection issues. I still have it, but it will probably never get used again.
I eventually purchased a genuine PicKit 4, and it's been fast and reliable with no issues. The ONLY thing I don't like about it is that it doesn't use a USB-C cable.
The PicKit 5 has USB-C and Bluetooth, so if I ever need another, I'd get the 5.