I run a service called Port87 that supports using the dash (-) for this purpose. I'm working on adding custom domain support.
I know what you mean about sites that don't accept it. Microsoft even has the gall to call it an "invalid address" when you use a plus.