When you want to purchase bitcoins on an exchange, you start out by depositing e.g. dollars on the exchange, thus converting your dollars to that exchange's dollar token (IOU x USD). You then sell your dollar tokens for bitcoin tokens on the exchange, which is super fast because it centrally controls token ownership, and when you want to get your bitcoins out you sell/redeem your BTC tokens for actual BTC. This system, which is how all large exchanges work, is inherently centralized, because it uses a central debitor (owes USD/BTC to customers) to handle token ownership, which works really well because it puts no limit on performance (as opposed to a system where we use a blockchain to define ownership).
One partial solution is to separate the debitor (funds holder) from the actual exchange: instead of exchanges issuing their own tokens (bitstampBTC, bitfinexUSD, mtggoxBTC, etc.), there would be dedicated issuers (lots of them), and an exchange would constitute a central meeting place, which accepts a specific set of issuers, and to whom people can sign over their tokens in order to engage in a trade. So, for example, a buy order would constitute signing over a token worth the buy order's value to the exchange, which immediately matches it with a sell order, swaps the owner of the matched tokens (after deducting a small fee), and sends the tokens to the buyer and seller.