Is there really a need to even have a “main wallet”? Most implementations I know of will aggregate multiple wallets into your balance, and I think handle sending transactions from those wallets in sum of the full amount being requested to send.
Not saying there isn't tracability though those services (especially since we aren't ideal) since the point of the distributed ledger is tracability.
Something that was rather easy was depositing to an exchange, and just withdrawing; you lose the identity of the coins, at the cost of the exchange knowing the connection.