After some investigation, it appears moving USD between exchanges is the most difficult part of arbitrage. In building an arbitrage information system at cointhink.com, the cost of the trade as well as an estimated 1.5% transfer cost is included. The transfers are based on bitinstant's fees and the exchanges being watched currently (mtgox, bitstamp, btc-e) were chosen because they connect with bitinstant.
Arbitrage information based on the entire order book is available at https://www.cointhink.com
which was built to provide a 'weather report' for arbitrage.
There are a number of gotchas to arbitrage in general. One subtle problem is that in order to trade fast, one must keep BTC and USD balances at different exchanges. By keeping any balance in BTC you're exposed to the USD/BTC price changes that arbitrage is intended to avoid! Another gotcha is the profit potentials are small and bitinstant has significant limits on the dollar amount and frequency of balance movements.
Before cointhink, I didn't know what the arbitrage profit potential was - comparing the top bid/ask at different exchanges is almost useless. By comparing entire order books, offer by offer, to see what asks have profitable bids at other exchanges, and looking at the total number of coins for sale and for purchase, a complete opportunity dollar amount is computed.