Suck-puff switches can be quite good, but they rely on the user having something in their mouth all the time, also you can’t adjust the sensitivity. It is possible to make a switch that works on a puff into a microphone - thus all you need to do is mount the microphone next to the persons mouth (for example you could use a mic headset). My tests with this showed that it worked fairly reliably and ignored general speech (just picking up the puff).
You can use the Piezo-electric sensor you get with the sound switch too, but a mic is more sensitive.
The QED Sound Operated Switch works well with this - it can also be used as a general sound switch, and also as a (large) muscle movement sensor.
Tried this years ago and it works as a sound switch - not sure if it would work with a puff.
You need a mono mic (for the QED Switch), but you can also use a stereo one with an adaptor (see below).
There are loads and loads of these to choose from! The one pictured is one from Maplin.
Again, lots to choose from - these would be easy to mount on a vari-arm (or similar) and position close to the person’s mouth. The one pictured is a Logitech one.