I played with the Microcohip USB bootloader but never (quickly) got it to work to where I'd willingly demonstrate to a customer. Since, even when using direct USB connections I always leave the RX and TX pins open and run them to a 3 or 4 pin header. Then I put the mating connector on one of these (they come in 3.3V as well) and have a USB bootloader that works perfectly. There is a setting on the PC that needs changed for it to work correctly (I want to say it's the minimum latency time or something like that--I'd have to look it up--but you only have to do that once.

Not sure that's really the kind of solution you're looking for, though.

Best Regards,
Paul