At least one exchange that I know of was front-running me.
I'm not saying which exchange it was as I don't want to get trouble for outing them - but it was definitely going on.
I tested this by putting in orders at times of low activity (i.e. nothing for minutes, then I'd place an order, and the best offers would be taken up by a "bid" that came in ahead of me. This could happen in theory but when it's happening as the order is received there's no realistic chance of it being anything else).
Why do you need to transfer between exchange?
Writing an arbitraging bot is in my bucket list of projects I'll one day work on, and to avoid trasfer times, which are ridiculous with some cryptocurrencies, the plan is to keep a balance of both sides on both exchanges.
Example: if you're arbitraging ETH/USD between exchanges A and B, you have an ETH balance on A, and a USD balance on B, and you concurrently buy/sell on both.
Then you have the problem of managing dozens of balances across as many exchanges, which is left as an exercise for the reader :)