That worked with Gnome 2, but I'm not sure how well that will work with Gnome 3 and/or Unity. Unity is pretty tied to Compiz (some portion of it is implemented as a Compiz plugin).
At this point, it's probably easier to either create your own session script to start up the parts of Gnome that you want along with XMonad (e.g. gnome-screensaver, gnome-power-manager, etc) or to see about using XMonad as the window manager for XFCE.
Also, you used to be able to set the $WINDOW_MANAGER environment variable in ~/.gnomerc, to turn on XMonad as the window manager.
(Having the launcher floating around is annoying though, and removing it from the gnome-session file had some unpleasant side-effect that I don't remember.)
At this point, it's probably easier to either create your own session script to start up the parts of Gnome that you want along with XMonad (e.g. gnome-screensaver, gnome-power-manager, etc) or to see about using XMonad as the window manager for XFCE.
Also, you used to be able to set the $WINDOW_MANAGER environment variable in ~/.gnomerc, to turn on XMonad as the window manager.