I gave up trying to get good fills on spread/RIC with optionshouse. I started to leg in positions and got much faster fills. It seems to me that OH's so-called "smart-routing" only looks for the best price once and leaves your order at one exchange. Since the best prices for different legs of a spread/IC might appear on different exchanges, it seems to be the reason why they can't get fill together.
Of course, by legging into positions, I am exposed to the risk of underlying price moving against me. But sometimes you get better prices too. So overrall it might be breakeven, and you get much faster fills.