Is there any solution yet to preventing stolen cryptocurrency funds from being spent? Isn't the only solution to have a central database and require laws to require every transaction to be pre-checked to see if it's stolen funds or not?
And not only that, the centralized system will have to be constantly keeping track of wallet mixing to see where funds are being redirected to, attempted to being washed to?
The best analogue is cash. If you want to return the cash you need to physically find it and move it back.
If someone steals steal a fiver from your back pocket then there's no magical wand that the police can wave that teleports the cash back into your hand. They need to come and get it from the kitchen table or wherever the thief has put it assuming they haven't spent it.
Most cryptocurrencies are explicitly designed to act as digital cash in this way. The system is structured such that a coin is fully under the control of the owner of the private key, there is no third party involved to effect some sort of return like a bank can.
If the coins are sitting in an exchange or some other custodian i.e. not exclusively under the control of the owner of a private key then you can effect this change by leaning on the exchange (in a legal sense).
The exchange is the bank, the coins are cash.