I had a used car I bought back in college. Previous owner had smoked. Steam cleaned the $H#T out of it. The interior grey actually had a yellow hue as I discovered. Anyway, after that the smell was unnoticeable.
I have seen them use an Ozonator at work too. It creates ozone inside the car to kill any odors, etc. Watch out though as it is a respiratory irritant. You can't be in the car when you use it and you have to open the doors to let it dissipate before you go back in the car.