It's a tough job, but you need to clean every interior surface...EVERY surface. Get the headliner good, I've found that a lot of the smoke attaches itself up there.
I've only done one car with smoke odor and it wasn't that bad...some of the other members here might have more insight.