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?
This is not an inherent problem of Uniswap. The cost of sending ETH directly from one wallet to another is about 21,000 gas limit and after final calculations[1]:
gas limit * gas price
So whenever you want to do smart contract operations, it costs more because more EVM opcode are being used for the operations - hence the reason why it is expensive. Using Uniswap on Layer-2 chains will effectively combat this. EIP 4844 will soon be implemented and fees on layer2s will see 60-80% cut in transaction fees.
[1] Ethereum Yellow paper:
https://github.com/ethereum/yellowpaper[2]
https://eips.ethereum.org/EIPS/eip-4844