The 3906 is working exactly as it's supposed to. You turn on a PNP transistor by bringing the base low relative to the emitter - by at least .6V when current starts to flow. So low = On, high = Off. PNPs work well on the high side because in this configuration there is no material voltage drop across the emitter/collector when the transistor is on, and the full 3.3V is supplied to the load.
You say the NPN 3904 works in this circuit, but I would bet that closer examination will show that there is a .6V drop across the collector/emitter junction, and the volltage supplied to the load is only about 2.7V. That's because no current will flow through the base unless the base/emitter voltage is at least .6V. So the emitter voltage can never rise above 2.7V if any current at all is to flow. You would have to put 3.9V on the base to supply 3.3V to the load.
NPN transistors work (and PNP's don't work) on the LOW side. An NPN only needs .6V on the base to turn it on and provide a no-drop path to ground. A PNP would need -.6V at the base to draw its emitter to ground.
So PNPs and P-channel mosfets are used to switch the high side, and NPNs and N-channel mosfets switch the low side. The control voltages are opposite - high-side switches need a low input to switch them on, but low-side switches need a high input.