1) you can very easily have multiple ghc's installed and have them not clobber each other
2) use the binary packages if you want a default that just works. If you look at the relevant ghc ticket on brew, they're very keen on modifying the formulae against the recommendations of Darin very very easily.
3) I use brew for many things, and even donated quite a bit to their kickstarter, but I do not trust brew to do Haskell right.