I find the safest way to program 3v3 devices is to insert a 3v3 regulator straight after the usb socket so the whole circuit runs on 3v3.
This way there is no chance of +5v being sent to the 3v3 devices.
It works on 3v3 Pic18s and Pic24s for me, never tried dspics.