Gnome Configuration

Window Managers
Gnome2.2 runs metacity by default, but I tend to like sawfish. You can change window managers while in a gnome session.
$ killall metacity; sawfish &
Nautilus
I have some problems with nautilus drawing my desktop. So open a nautilus window for configuration.
edit -> preferences -> Desktop & Trash -> uncheck "Use Nautilus to draw the desktop"

Icons for root window without using Nautilus
My preferences for stuff on the root window are minimal. All I want are a couple buttons to launch commonly used applications and idesk does all I need. Emerge idesk, get some nice looking icons, and read the short documentation for idesk. Part of my desktop with idesk looks like this.

Gnome panels
When I use gnome, I prefer to have as much real estate as possible. This means I don't want multiple gnome menus to get in my way. Let's get rid of the default gnome panels and customize our own with applets or launchers. I'm fond of floating panels because I can easily move them around. Simply middle click on a panel and drag it to where you want.
right click -> New Panel -> Floating Panel
  Corner, edge, sliding, and menu panels are also available
right click -> Add to Panel -> applet or launcher
  Use this to add applets or launchers to your panel
right click -> Delete this Panel...
  Delete your panels or the default gnome panels
right click -> Properties -> Background -> "Transparent" Type
  l33t looking pseudo-transparent panels

Theme
Change the theme with gnome-control-center and click on "Theme". I use the thinice gtk theme, so if you want this you need to emerge gtk-engines-thinice. If you have both gtk1 and gtk2 applications (you likely do) then you might want to emerge the earlier ebuild for gtk1 themes as well. Although it is possible to change your gtk1 theme with gnomecc (the gnome1.4 configurator), the gtk theme switch utility is capable of changing both gtk1 and gtk2 themes from the command line. Do an emerge gtk-theme-switch and make sure to get the older version too if gtk1 theme switching is necessary.

Sawfish Configuration
One of the reasons why I like sawfish is because of it's high configurability, especially when it comes to key bindings. Run sawfish-ui to configure sawfish. I find many of these options to be a matter of mostly personal preference so I will not delve into too much sawfish configuration. Just poke through all those tabs and experiment. In the "Bindings" tab for Global context, I have keybindings to change workspaces (i.e. Workspace Right, Workspace Left, Next Workspace and so on). Under the "Window" context, I have key bindings to move windows to other workspaces, and basic window management actions like minimizing, maximizing,and closing. One thing that I really like is the ability to "pack" windows. That is, you can jump a window until it bumps into another window such that windows are exactly adjacent. This packing feature is more easily demonstrated than described by me. See the "Pack Window Up/Down/Left/Right" functions. It is easy to add your own key bindings.

$ sawfish-ui & -> Bindings -> Choose "Context" -> Add... -> Click "Grab..."
 -> Input your key binding -> Choose a Command to run -> OK