Creating "wisp" materials in cycles
Use the 'Generated' Texture Coordinates to create a Procedural Texture.
Ensure you're in Cycles or Eevee (not Blender Internal renderer) and create a new plane and add a new material. Rotate the plane 90 degrees around the X axis and apply the rotation. This will result in the Z coordinate referering to the 'height' and the X coordinate relating to the 'length' of the plane (I find this more intuitive).
The effect can be built up from a number of distorted 'beams'.
Remove the default 'Diffuse' shader and create an Emission shader. Add a Texture Coordinate node and link the 'Generated' output to the Emission 'Strength' input. The 'Generated' coordinates range from 0.0 to 1.0 along each dimension of the object. For the fuzzy edges of the 'wisps' you need a nice rounded beam that falls off at the edges and this can be achieved as follows :
Strength = 1 - (((Z - 0.5) * factor ) ^ 2 )

The ^2 function creates a nice soft edged symetrical beam centred around Z=0 while the '-0.5' effectively moves it to the centre of the material. The 'factor' can be used to focus it into a tigher beam (higher values equate to narrower beam) and subtracting from 1 results in a 'bright' beam rather than a dark one (and this step should be 'clamped' to ensure the end result is always within the range 0.0 to 1.0). The nodes should be something like this :


You manipulate the beam by changing the coordinate going into the function - in this case the constant '-0.5' is moving it down to the centre. To distort the beam as it travels across the material, use the X coordinate to generate a varying offset. You can use a 'Sine' function to add a wave to the beam, with multipliers to allow you to adjust the frequency and amplitude of the wave.


Similarly, you can add in the influence of a Noise Texture :


In a similar way you can add variation in brightness or width, apply a varying profile to the beam, adjust the phase of the sine waves, vary the intensity of the distortion as the wave travels from left to right, etc. My resultant node tree was too complicated to include in an image here - look in the attached blend file for details.
Combine the 'core' nodes (excluding the Texture Coordinates and Shader) into a group to allow re-use.

You can then duplicate the group and slightly vary the parameters for each group node to give a number of different 'wisps' and combine them, feed them through a Color Ramp node and use the output to drive a Mix Shader to mix between Emission (for glowing filaments - otherwise Diffuse) and Transparent shaders.

Either adjust the values to get the desired still image or drive the inputs via keyframes to animate the waves. It works quite well to vary the input Vector and wave phase so as to make it appear to progress forwards.

The Procedural Texture is considerably quicker to render than a smoke simulation (assuming you don't need accurate smoke) and can even cast and accept shadows (when using diffuse shader rather than emissive).

Using the colour ramp and using a combination of narrow bright beams and wide dim beams can give the effect of glowing filaments with surrounding wisps similar to the reference image (although this particular example is only a very rough approximation - needs more tweaking but it should give you a general idea of what can be achieved).

Blend file included here