[...] AND logic (which is what && is for).
[...] and && when I mean logical logical AND.
I presume you mean logical OR (operator ||), correct?
[...] you're faking multiple logical ANDs
Depends on how you format your code. I'd probably break the if condition into multiple lines if it was that long anyway. But that's me.
and using more lines to do so
I don't think I'd use a switch for only two code paths (like in this example), but I might use it if there are more (or if I was switching on strings and the switch was done by hashes and operator == was not, and I cared about that).