What is it?
(I know, oh so subjective.)
So let's make that, what's the most effective and pain free way to do it? I realize those may be contradictory conditions.
The easiest and most pain free way is to use homebrew
https://github.com/mxcl/homebrew
Once you follow the instructions to install homebrew on this page (which include installing Xcode), you can then simply type
brew install wine
And this will download and compile wine and all its dependendencies.
I would suggest using Winebottler from http://winebottler.kronenberg.org/ works fine for me!
You can install wine using MacPorts or Fink they both are recommended my wine.
As for GUI applications for wine the only thing besides wine's own utilities is winetricks. They are pretty useful for automatically downloading and installing different applications and dlls with their dependencies.
If your OSX is older than 10.5 than you will definitely need to install XQuartz (newer version already include X server).
Let's search packages matching 'wine':
port search wine
wine @1.4 (x11) Wine Is Not an Emulator wine-crossover @11.0.0 (x11) Wine Is Not an Emulator (1.4-rc5 with CodeWeavers modifications for CrossOver) wine-crossover-games @10.1.1 (x11) Wine Is Not an Emulator (1.3.9 with CodeWeavers modifications for CrossOver Games) wine-devel @1.5.0 (x11) Wine Is Not an Emulator winetricks @20120308 (x11) downloads and installs various redistributable runtime libraries
Now we see that we can either install CodeWeavers version or just usual wine. Let's install usual wine (I think that for another one you need some kind of licesce):
sudo port install wine
It's also a good idea to install winetricks:
sudo port install winetricks
Install Fink as deskribed here.
fink list wine
wine 1.3.21-1 Microsoft Windows compatibility layer wine-dev 1.3.21-1 Microsoft Windows compatibility layer winetricks 20111120-2 Install redistributable runtime tools in Wine
Let's now install them
fink install wine fink install winetricks
In terminal enter wine and press [Tab] and you will see utiles that come with wine (and winetricks of course):
wine winebuild wineconsole winedbg winefile winegcc winemine wineserver wineboot winecfg winecpp winedump wineg++ winemaker winepath winetricks
winecfg is very useful to configure wine (dlls overriding, Windows version selection, etc.)
Most pain free way is to use Codeweavers's paid for version Crossover
It has useful default settings and for many apps provides C4P or CrossTie which will do all the installation and set up of the app from one script.
The best graphical install of Wine is Wineskin. It puts all the tools in a GUI and creates a standalone .app file that Mac will run as a native app. Here is a tutorial that is using Steam as an example.
http://www.easypctutorials.com/windows-steam-on-mac-wineskin
If you plan on porting several applications then you'll want to run just one Wine environment. MacPorts or Homebrew are probably your best options.
http://www.easypctutorials.com/how-to-install-wine-on-mac-os-x
Hope this helps!