Takers enter a JIT auction, which can offer price improvement, and otherwise can fill via an external program. (e.g. Serum).
Takers can also utilise special order types such as oracle-offset limit orders, which appropriately can cap fills using slippage tolerance versus the oracle provider's fair value. This allows ordinary takers on a UI to control swapping at the fairest price, even without access to advanced infrastructure / bots.