Don't think in these rather technical solutions like which separator to use. Rather, auto complete the tag input field so mostly there is no need for tags separators.
Only for new tags you should guide users into telling you when they've entered one single tag. That could be done by asking "Add tags, one at a time", or enabling/highlighting an "Add tag" button after a space or comma instead of forcing such a character to become a separator.
And after all, I think you can combine separators and don't have to make a hard-cut choice. A comma clearly separates. A dash clearly doesn't. Same for underscores if used. Find these characters which clearly separate or not and implement those for the users experimenting with "what this site will use again". Then only for the space you need to guide the user a bit, as said before.
In general: don't make the users adhere too much to your technical choices. Rather let them use whatever makes sense to them. And guide them in where those things really conflict.