If you have an idea of the password and the json file you can brute force it. Download john the ripper from github to extract the hash then use hashcat to bruteforce the password. if its less that 6 characters will be very fast.
That makes really no sense for various reasons:
1) If you read correctly, the user HAS the wallet file AND the password, but lacks 2FA AND seed.
2)You don't need the 2FA to enter the wallet, but you need it to be able to send transactions
3)Even if he didn't have the password and buteforced it in a reasonable amount of time, he'd still need the 2FA token; because p2wsh key cannot be swept into other wallets.
Electrum 2FA works as if it was a ulti-sig wallet, so the problem is the same: the user has no seed to import into a non 2FA wallet to send the funds to another wallet.