As a competitive shooter, trainer and armorer, I've attended several trainings with local SWAT teams.
First the disclaimer: here in Texas it's not what gun do you own but rather how many are you carrying at one time.
Generally speaking a powerful spray is my choice for non-lethal for a couple of reasons:
1) it's not only 1 or 2 shots - it's a continuous stream
2) with the stream if your first "line up" is not quite on target you can easily keep spraying and move on target;
3) it's effective if you have several people you need to defend against (we are seeing an increase in gangs of trouble the last few years vs. a single bad guy as in the past).
Just know they have an expiration date on them. My advice is buy two - one to practice with outside (downwind) with first so you are familiar with how it work, and then one for the actual unit.
Also don't laugh, but many stores here have signs on the front door of a handgun and it reads "we don't dial 911". It is surprisingly effective.