Where? Retail, interbank, airport vendors...
Generally prices are never identical. There is no no such thing as the FX price. There will always be a bid ask spread and every market maker or platform will have different prices, ever for single pairs, not just computed via triangulation.
FX trading is very opaque and essentially all OTC. You can almost never get actually traded prices. Take Bloomberg for example.
- ALLQ shows all quotes (that your institution has access to). There will be a large amount of banks and brokers quoting bid and ask to Bloomberg. None of these quotes will be executable and all are just indicative.
Therefore, using any of the quotes or composites and generic quotes from Bloomberg will not allow you to answer your question.
Generally, there exist practically no reporting requirements for spot FX trading, which is why a trienniel survey from BIS is the golden source for FX trade data.
- Bloomberg also offers BGNE, which is directly derived from executable quotes on FXGO (Bloomberg's FX trading platform). However, the generic BGNE itself was also never an executed price either.
All quotes, all generics and composites and fixings on BFIX will show slightly different prices at the same time, even for EURUSD (nor talking crossed). If you compare several quotes, it's very difficult to get precise time stamps and doing a historical comparison requires an insanely huge dataset. Bloomberg gets well above 1 million indicative quotes per day for EURUSD alone.
All this leads to an obvious problem with OTC quotes though, because no one knows what the "exact" FX rate actually is. However, whenever someone needs to compute an amount payable or the value of a financial instrument or contract, or wants to track returns of funds, compute indices (see Appendix I and II), compute (performance) fees and the like, there must be a uniformly agreed way of doing this. In other words, there must be a benchmark for transaction purposes.
Therefore, so called fixings were developed, which are not only reliable, transparent and representative but also compliant with benchmark regulations like IOSCO or EU BMR which carries over to the UK via the onshored BMR. Two of these officially approved fixings are WMR and BFIX.
That said, the different quotes will pretty much always be within the bid ask spreads. That not only applies to Bloomberg but all platforms like FX Connect from State Street’s GlobalLink, EBS, now part of the CME or Refinitiv or single bank platforms like Deutsche Bank Autobahn.
However, from a trading perspective and with regards to interbank trading, most trading has the USD involved. That is so important that some market makers are hesitant to quote EURAUD when the US has holidays. The less liquid pairs if traded directly will just have wider spreads, but no arbitrage. It's for the simple reason that no market maker will just send you money for free.
It's not just their quotes but also the quotes of competitors that a market maker needs to consider. Sometimes it happens that one messes up and bid ask spreads don't overlap anymore. This firm will realize very quickly something is off because of the amount of request for quotes or orders they receive.
To sum up, there will hardly ever be an arbitrage possibility but since markets have a bid and ask, there will also almost never be the same price for any pair at any given time if you compare quotes.