I'm not too fond of the blocking idea, it's like randoms. You just *happen* to press the right button. With or without penalty, it comes down to guessing. However, if you could SEE what direction they were aiming for, it's a different story (so animations could change depending on the direction). That way in fast fights you can still use normal block but you can also use that directional block if you're fast enough (and if you do it wrong, you get hit). Of course that also means you shouldn't be able to switch directions superfast while you're swooping. A 2 second direction lock or something (unless you let go, but then you're still locked for the remaining time) could handle that.
Also, couldn't you just use jump for up instead of w+s and everything.