In 2012, I sold my hard top and acquired a sailcloth soft top. The previous owner is a smoker and on hot days, the odor gets unbearable. I pulled the soft top by disconnecting two of the connecting points and a crossbar and with Dawn dishwashing detergent, a utility brush and my garden hose - I finally got the stink out!
After 2 days, you can faintly smell what had been an overpowering stale, cigarette odor. Best part, is the dust is all gone, making the top look new again.
The soft top pulled from the Jeep - this took about 10 minutes to accomplish.
The soft top is clean and dried within a few hours.