I run Arch Linux on my MacBook Pro, for instance. This has made at least two Mac fanboys seriously hate me.
To be fair, I dislike fanboys of all shapes, colours and flavours.
I assume XMonad is a similar experience to Awesome--I never tried to understand Awesome too much. Spaces cannot compare.
Awesome is both really minimal and really extensible. By default you don't have anything, and you build it up to how you like it with lua and a couple of libraries that expose bindings to things like desktops and tags.
defaults write com.apple.dock workspaces-swoosh-animation-off -bool YES
restart finder. Enable number key navigation.
You're right, it's hard to move windows between. But, you can set defaults so that certain apps open in certain spaces. For me, this has been good enough.
I'm not really sure why, but Spaces just feels inferior to basically every multiple desktop implementation I've used on Linux. There's just not enough of a UI for it, and it's clunky to use. On Linux using multiple desktops is smooth and natural. On OS X, it just feels weird.