The key ingredients to realistic cloud/fog effects are
1) Relatively low (say, 0.4 to 0.6) PSYS_PART_START_ALPHA petering out to zero for PSYS_PART_END_ALPHA
2) Low PSYS_SRC_BURST_SPEED_MIN & PSYS_SRC_BURST_SPEED_MAX values, albeit enough to make the particle move away from the prim; 0.08 and 0.15 respectively are good starting points
3) Set PSYS_SRC_PATTERN to PSYS_SRC_PATTERN_ANGLE or PSYS_SRC_PATTERN_ANGLE_CONE , set PSYS_SRC_ANGLE_BEGIN and PSYS_SRC_ANGLE_END appropriately. (say, about 1.3 and 1.57 respectively)
4) PSYS_PART_START_SCALE & PSYS_PART_END_SCALE set to produce a long, wide flat shape. (say, <0.2,0.05,0.0> & <4.2,1.3,0.0> respectively)
5) PSYS_PART_START_COLOR set to about <0.816,0.816,0.816> (light gray) but suit to taste
6) PSYS_PART_END_COLOR set to a darker shade of grey (try <0.216,0.216,0.216> but, again. adjust to suit
7) PSYS_PART_BOUNCE_MASK = ON ('0x004' value in PSYS_PART_FLAGS)

Suitable light, opaque texture UUID for PSYS_SRC_TEXTURE
9) Adjust PSYS_SRC_BURST_PART_COUNT and PSYS_SRC_BURST_RATE to change density. The higher _COUNT and lower _RATE is the more dense the cloud/fog formation
This will give you a decent starting template from which to kick-off...

BTW: I also use llFrand for the size and colour vectors to introduce a wider variety of individual cloud/fog emissions