I have withdrawn and trade ETH from MEXC multiple times already and I am never charged more than $3 but when I swap ETH ERC 20 on Uniswap the gas fee is almost always $10 and few times over $10, why is it like this? Are DEXs suppose to be more costly normal centralized exchanges?
Simply because that's how Ethereum works. Interacting with a smart contract on Ethereum requires more gas because of more data throughput and more computation needed. That said, DEXes will always be more expensive on Ethereum than a classic centralized exchange, unless you transact with very large amounts. In return, you get decentralization.