I have never understood the classical rule of no spaces around em-dashes. If you’re going to use fancy dashes at all, an em-dash represents a clear pause, a break in thought — something more robust than a mere comma. Typesetting an em-dash sometimes literally touching the words on either side has the opposite effect, visually connecting those words rather than separating them, and unlike a lot of the typographical snobbery we sometimes engage in, that one is a well-known (at least to designers) effect of proximity. Personally I prefer a thin space rather than a full one in media where it’s possible, purely for cosmetic reasons, but I’d rather have a normal space than none.