Alum does hurt pretty badly, but it works pretty well. It makes them look a little weird, though.
I've had pretty good luck with an OTC medicine called Glyoxide. It's more of an oral rinse than anything else, but if you apply it directly to the canker sore, it will foam up and clean it really well. Just don't swallow it - it tastes awful.
I've had decent success with the Glyoxide too. Mine seem to be caused by toothpaste. During an outbreak, i often just brush with baking soda.