Your main problem here is a lack of input protection -- at a minimum, you should have:
- A transient voltage suppressor network for the USB pins, including Vbus (you can get a multi-TVS/clamp-diode network designed for USB apps in a small SMT package nowadays)
- Reverse polarity protection for Vin! Right now, plugging in a negative supply = fried board. Given the application, ye olde series Schottky (MBRS120 or equivalent) is more than adequate.
- A transient voltage suppressor for the Vin connection -- I use a bidirectional TVSS upstream of the reverse polarity protection, but you can use a unidirectional device downstream of the reverse polarity protection as well
- Overcurrent protection on both Vin and Vbus -- a Polyfuse type device can be used for this.
Extra input filtering (such as a common-mode choke or ferrites on Vin) can be deployed if needed/desired, and will improve the board's EMC performance.
Beyond that, you need to specify C6 -- 4.7µF is adequate here, and already on your BOM too. Furthermore, you are backpowering your USB port when you are in a self-powered configuration, which is a no-no as it fries some USB hosts -- another MBRS120/... Schottky from Vbus to the "+5V" will fix that. Since you aren't using the +5V line for anything, either, I'd remove C21/C22 and the 5V reg entirely if I were in your shoes.
Last but not least, two more things. First, a resistor divider (say 4.7k over 10k) from Vbus to a port pin is recommended -- this allows for USB host presence detection. Finally, I would put another 4.7µF capacitor on the 3.3V supply to the RF module as RF modules tend to be a bit piggy when transmitting, and you don't want the module browning out itself or other parts of the system during that.