To avoid this, an intermediary program is needed, which will unfreeze access to ETH only after BTC is received.
An intermediary program is definitely needed, but what he's telling you is that there's still trust from either the user or the service the way you say it. There are ways to trade trustlessly, such as with submarine swaps, but there's no way I know to give a mixer access to your money and get them back, mixed, without having to trust they won't rip you off.
Remember: They need to create outputs with your money and therefore, you need to hand them out. Afterwards, it's part of their service.