Bank of America charges me $7 per trade. However, if you buy/sell more than 100,000 shares, you have to call it in - still get the online rate.
But: when trading OTC/pinks, they just instituted using a card with a random code generator called SafePass. Mine was defective, and am waiting for a new one, so I have to call in all buys right now.