There was once a patch on Bitcoin Core that could be used to filter and refuse to mine known gambling addresses (those of satoshidice and on-chain gambling). This wasn't particularly effective as a lot of miners and users didn't run this.
This is a good argument for having multiple implementations of the Bitcoin Protocol.
Exchanges has been and are still closing accounts if the origins of the coin has been tainted (either through a gambling site or illicit activities). They are still actively doing so, Binance and Coinbase are good examples.
Does Binance return the Bitcoin to the Sender before they close the account?
I am coming at this question from the angle of how I discuss and promote Bitcoin to my friends. Based on the responses, I feel safe to still claim that you are your own Bank with Bitcoin. As long as you control your Private Key you can send any amount of Bitcoin to anyone. The caveat, however, is that if the Bitcoin you own is somehow "tainted", it may be rejected at Exchanges or other points of Centralization.
It's similar to if my friend is paid in counterfeit dollar notes but doesn't know it and then goes to the Bank to deposit the notes but the Bank rejects and possibly confiscates them.
I'll be honest this issue of fungibility takes some air out of the Bitcoin narrative. Prior to today I promoted Bitcoin as "You control your Bitcoin and no one can stop you from sending it to someone else."
I have to be more careful with my narrative now. The narrative now has changed to "You control your Bitcoin and no one can stop you from sending it to someone else. However, it's possible that an exchange or other central authority may reject your Bitcoin if it is tainted. Ensure that you only transact with trusted parties."