You could do this with a refraction post-effect, for example using a double side rendered box that renders uv coordinates in which direction it flows to a target, in the target you can use noise according to these coordinates for the refraction, a refraction shader is in the examples.
Using an alpha value decreasing with a discrete function towards the edges of the cube proxy-geometry displaced with a low level noise, to archive a natural volume shape that blends out smoothly and the noise for some wavy turbulence.
But this suggestion is for gas that refracts the background. For steam you can use just a regular particle effect.