Python may be an exception to the rule, but in most compiled languages exceptions are very slow, taking time to halt setup handlers and dispatching to them. But since python is high level interpreted it may do exceptions at the same rate as function calls.
Agree with Nova, raising an event should be done only if need, generally when most other methods are impractical.
Strangely, sys.exit() is actually a wrapper for the event. From TFM: exit([arg]): Exit from Python. This is implemented by raising the SystemExit exception...
I'd note that forcing an exit is often a sign of a poorly design program. You should be able to fall to the bottom naturally. I don't know how Python handles exit condition values, which is the only time I'd use such a method. Basically, when you're already leaving.
In all actuality the real question becomes, which version of Python are you currently programming with that your using the exception exit with? version 2.2 of the python interpreter or earlier versions will likely have problems with this causing a slow down at compile time and also it is possible to see randomized exits in an otherwise error free run-time. Random exits are never a fun thing in your program. However, later versions of python such as python 25 for example will handle this much differently, and I am to assume that is what your using because of how you seem to like the exception exit. I would prefer to use the standard exit because it will tend to not confuse your fellow peers so much, (and keep in mind a programming language is not only needed to be interpreted by your computer but also by other people), and furthermore the changes that will be coming in Py3k may handle the translation of your programs in a complicated way.