Over time, it will improve. But yes, I should have mentioned, at a minimum, fans all just need to go.
The smoke is sucked through everything. The biggest hassle being the power supply which has a constant running fan and is loaded with it. As the thing heats up it pukes out more and more.
Bagging it up actually helps less. If anything, I know this may sound weird, but putting the thing by a window that generally flows outward, and putting it in such a way that air movement has to go through it..
Over all, I have found that hardware from smokers meant the case, fans and power supply at a minimum were going. If it's a Mac, then the fans got replaced, the case got Simple Green'ed, a good knuckle brush, more Simple Green and then blasted with the hose. The power supply would have to be disassembled and cleaned just like the motherboard, cards, etc. With defluxer, or 99% isopropyl alcohol. Fresh, sealed bottle. Remove the motherboard battery, and use it with a toothbrush to clean RAM sticks, cards, the motherboard. Put some in an unwanted cake pan or similar. Set the board in it, swish it around, use the brush. Then lift it out and swing it in the air. Great on a windy day, go outside with it. The stuff evaporates fast. Clean all of it that way. It contains no water, and does not conduct.
You'll be amazed at the outcome, and realize you didn't even see most of the crud until it's not there.
The keyboard? ...
I've heard many stories of top rack in the dish washer. But I usually disassemble the case, pluck all the key caps. You can put them in a sock and toss it in the laundry. With the caps off .. and once your passed being grossed out, you can use a good stuff brush while standing in the wind, and then bleach in a spray bottle, paper towels and .. clean it up. Clean all the plastics separately, and the coiled cable can just get blasted with cleaner and pulled through a handfull of paper towels several times in each direction.