It sounds as though one only of your switches is "leaking" at all times. If you have built the circuit correctly AND if the transistors are undamaged this should not happen.
Re Sw1 and Sw2.
Off is close close or open open.
Direction 1 is open close.
Direction 2 is close open.
With SW1 Sw2 open open, Mleft and Mright should both be at close to ground.
With SW1 Sw2 closed closed, Mleft and Mright should both be at close to Vcc.
In either of these cases the motor cannot turn. If it does turn the above voltages cannot be correct. Identify which voltage is wrong and then why - either base drive is not as expected or a transistor is damaged or the circuit is wrong. You should "easily" be able to find this by working through the above and then following up on the implications when a voltage is not as it should be.
The extra information makes it clear what is happening:
The unlabelled resistors are 100 ohm ones. The motor draws around 100mA (slightly less, around 98) when connected directly to the supply. The PNP transistors are 2N4403's and I use 2 different NPN transistors: BC182 & 2N3904. The BC182 only supports 100mA, the others are higher rated, but the motor doesn't really go above that... My Arduino supplies 5 Volts, with the resistors that should make 4.5 mA to the base, I'm not sure how to interpret the data sheets to tell if this is enough for saturation..
Call the 4 x 100 Ohm resistors RLU RRU RLL RRL (R_left_upper, R_right_upper ...). 100 Ohms is too low in this context relative to the R5 & R6 1K resistors. Have Sw1 open and remove R6 for now. Then: with 3V supply, Q3b (Q3 base) will be about 0.6V below supply = 2.4V with 3V supply. Q1b = anout 0.6V. So V across RLu + Rll = (2.4 - 0.6) = 1.8V so I via RLu and Rll ~= V/I = 1.8/200 = 9 mA. This flows in both Q1 and Q2 base so they can support Beta x Ib collector current as "shoot through" current. If you now close Sw1 Q1 is off and Q3 on as intended. BUT if you open SW1 and re-add R6 the 1K is not enough to pull the centre point of RLu and RLl up enough to turn Q1 off. SO when a switch is open it's top transistor will be pulled into partial on-conduction mode.
Agh - about here I see that Dave Tweed has said what I am in the process of saying :-) :-(.
So more briefly.
To overcome the above effect the pullup must cause the divider if Rlu, Rll, R6 and the two base "diodes" to allow the pullup to turn Q3 off.
To do this you want R6 to pull RLu_b closer than ~= 0.6V from top supply. Roughly
(Vcc-Vbe_Q1) x R6 / R6 + Rll) < 0.6V.
With Vcc = 3V and VBe_Q1 = 0.6V (it will be close but different to this) then RLu < ~ 100 x 0.6/(3-0.6) = < 25 Ohms.
This is "rather low."
You can instead increase the 4 x 100 Ohms to some higher value and perhaps decrease R5, R6 somewhat.
BC182 datasheet here
At 100 mA motor current the BC182 has a nominal mean Beta (current gain) of 80 but that is at a high Vce - so say Beta is ~= 25.
For 100 mA IC you then need Ib = 4 mA.
When base current flows via pullup R6 and Rll and Q1b you want total resistance under.
R = V/I = (Vcc-Vbe)/I = (3-0.6)V/4mA = 600 Ohms.
That is R6 + RLl.
And you need R6 << Rll etc as above.