I've always assumed (possibly incorrectly) that my phone is more secure than my desktop.
It is looking as though desktop OS's will catch up in this regard considering the progress that's being made with immutable root filesystems and sandboxing with permission sets for user facing programs.
Hardware token still feel like the safest option, but I also don’t what 8 different token generator in my pocket.