My take on an automatic source selector between USB and wall supply
Your orientation of Q4 is correct for this style of circuit, but I'm not 100% happy with your BJT switching circuit.

Q4 should be off when +12V is present, and on when it isn't present.  Normally an op-amp is used to compare the incoming voltage (divided down) to a known fixed value (say 3.3V from another regulator in your circuit), and if it's above the threshold then disable the USB's P-channel MOSFET.  When the +12V isn't present the op-amp, powered by around 4.5V from the USB via the MOSFET's body diode would then turn the MOSFET on, bypassing the body diode.

Here's the Arduino schematic for the power segment that does exactly what you are after: