Any of a kind Bitcoin wallet need to share private key on the internet-connected machine.
This is false. You can keep private keys on a completely offline computer, but still submit transactions to the network. To do this:
Create a wallet that will store your private keys on an offline computer. This wallet will be used to sign txs
Create a wallet on an internet-connected computer. This wallet will be used to generate (unsigned) txs, and submit (signed) txs to the network
Generate an unsigned transaction on the internet-connected computer
Transfer the unsigned transaction to the offline computer (eg. via a fresh USB drive).
Sign the tx using your offline wallet
Transfer the signed transaction back to your internet connected device, and broadcast the transaction to the network.
This way, your private keys are kept offline, so an attacker would need physical access to the machine in order to steal your funds.
Note that hardware wallets follow a similar scheme: the private keys are isolated within the device so that the computer you plug your hardware wallet into cannot access them directly.
A less secure but still good solution is mobile wallets, seeing as a mobile OS will generally have a smaller attack surface than a desktop OS (eg compare iOS to Windows). Generally, there is a smaller chance of having a phone infected with malware than your desktop machine. For best practises, you could run a full node and point your mobile wallet at it, but I would generally not advise storing large amounts of cryptocurrency on a phone.