How could I create a desert sandstorm?
I guess the method depends on the level of realism you want, for realism you should probably try smoke (tutorials here by Iago Mota and here by Polyfjord).

I've tried to fake it with the Principled Volume node in 2.8:


You need to create a cube that you subdivide smooth. Give it a Subdivision Surface modifier. It's your first cloud.
Plug Principled Volume > Volume socket of the Material Output. Play with the Principled Density value to change its transparency.
Plug Noise > MixRGB > Color socket of the Principled so that the surface of the cloud is a bit textured.
Plug 2 Musgrave (or other textures) > Math (Add mode) > Displacement node > Displacement socket of the Material Output so that the cloud has 3D bumps.
Put some additional nodes like Texture Coordinate > Mapping at the beginning of the nodes chain.


Duplicate this cloud. Increase its size, rotate 180° on the Z axis. Decrease the Principled Volume Density value of this second cloud to make it more transparent. This second cloud will encompass the first one.

To make them "roll" on the X axis, play with the X location value of the Mapping that comes before the Musgrave nodes.

Also, for more realism, on the forefront you could generate some particles, with a Force Field to make them move the way you want.

Blend file: