Not practical for ordinary people. No regular person is holding their own wallet, and even the technically sophisticated who do get their keys stolen or lose them to faulty backups or technical snafus.

Calling/implying that it's technically sophisticated is not really reasonable. Having a BTC (or other currency) wallet is utterly trivial, let alone from a technical standpoint, it's much easier than setting up an e.g. Coinbase account. The only issue, outside of choice of course, is people being ignorant of what needs to be done and I think that can largely be explained by the fact that centralized providers spend billions on marketing while decentralized wallets spend nothing on it.