Do you already have experience with a particular MCU family? If so, I would choose something in that family: there are going to be plenty of concepts to learn without having to learn a new ecosystem.
I do have a lot of experience with PIC24F and PIC32MX on USB, mostly with the low pin count devices such as the PIC24FJ32GB002 and PIC32MX230F064B. While the MLA (Microchip Library for Applications) USB stack is somewhat daunting, in general it's best to take some existing boilerplate code in their examples and modify that for your own purposes. Trying to write code from scratch might be an interesting academic exercise, but you'll probably be sorry you did.
What I will suggest is that if you go PIC32 that you steer well clear of Microchip's Harmony framework and use the Legacy MLA instead. Harmony is new, buggy, doesn't perform very well, has no decent training material, and I doubt anyone has anything in production using it as a result, unless they've paid MCHP for some consultancy help. This pretty much precludes use of the newer PIC32MZ devices, which, by the way, have their own silicon problems.
There are many Starter Kits for PICs with USB, for a PIC24F there is
http://www.microchip.com/DevelopmentTools/ProductDetails.aspx?PartNO=dm240011 and for the PIC32MX
http://www.microchip.com/DevelopmentTools/ProductDetails.aspx?PartNO=dm320003-2. Both of these include onboard programmer/debuggers, so you don't need to shell out for that.
Also note that changing chip within a family has its own excitement in that the pinouts will often be different and there may be minor and some not-so-minor differences in the support peripherals outside of the core. The oscillator blocks are probably the most important to watch out for, as well as the chips' config bits and pin multiplexing, but you should always check the other peripherals you'll be using. Also always at least be aware of what's in the errata for a given chip, it's far from rare to lose a day or two and then find it's in the errata.