try fiddling with the switch, holding it half in/half out and moving it slowly from fully in to fully out. I had this problem on my last E30 and it was the switch itself.
E30 Touring 0.35 cD - more slippery than prison soap
I have tried holding the switch in and out and wiggles it a bit and the lights come on. Looks like the switch will have to get a replacement. Thanks for your help everyone.
My '88 325iSE had non-working front fogs. Replacing both bulbs (much cheaper to buy in France, BTW!) and cleaning out the switch contacts (fairly easy to do - the switch just prizes apart with a thin screwdriver) sorted them.