Transaction fee is composed calculated as follows:
gas amount * gas price = fee.
gas price is something you decide when you send the transaction - basically it says how much you are willing to pay to get your transaction processed. The fees are very high currently because many people are willing to pay a big gas price to get their transaction processed (fast). So basically the more you pay the faster you get your transaction processed.
The other factor,
gas amount depends on the complexity of the transaction. Each operation the transaction has to perform costs gas. So the more complicated the processing logic is in the DEX the more gas it will cost.
So you have some control over both of these input values:
use the right gas price to get your transaction processed reasonably fast, but don't use too big a value either. You can use for example https://ethgasstation.info/ to estimate what gas price to use.
Find a DEX which has a low complexity, and therefore gas usage. If one DEX has a gas usage of x and another of 2x, the other costs twice as much to use.