Actually, you can configure a yubikey to generate a one time password (OTP) in a similar process to google authenticator. I'm currently playing with the yubikey, and while I won't say it is the perfect solution, I think the idea of having the option of adding 2FA should be based on something like the yubikey or Authenticator.
Simply logging in to your wallet and having that login be verified by a third party server creates a time signature that could then be matched to any transactions you make. although Darksend mitigates this to an extent, if I know you logged on to your wallet at 0711 UTC and then I see a bunch of darksend transactions for the next 4 minutes, I can make an assumption that one of those is yours. Instead of trying to sort out darksend transaction, I can then look at transactions to known entities, like exchanges, and see if any of those match.
This is all highly theoretical, but why create a potential vulnerability?
IMHO the 2FA should be something you ACTUALLY have, not something a third party has. And as always, I'm a huge advocate of flexibility in enabling users to manage their own anonymity as much as possible.