IME execution is not quite as smooth with CFDs as it is with the underlying, if modifying an order it will take a while until it shows as active. Recently I tried to buy at the ask price on significant size and the ask stayed at that price for a while but my order didn't get executed, than the price ran away (I was in China with a poor internet connection which might have made matters worse) . Cost me quite a bit in missed profit.
I only use CFDs on markets hit by transaction tax, would stick to the underlying otherwise. Also with IB in stocks were 100% margin is required the margin for CFDs is actually slightly more than 100%, hence one's maintenance margin increases faster than his profits. Frustrating.
For me, marketable orders weren't executed leaving me with an overnight position and loss. Margins still are lower for large cap US CFDs but I don't want it to be a lottery when it comes to execution. But I'm going to have to give it another go as the margin requirements for underlyings keep creeping higher.