I don't understand your argument about the Preferences. TextMate still has a lot of preferences, such as font, antialiasing, tab width, etc., but instead of keeping them all together in one place where they're easy to find they are spread out and hidden among the other menus. How is that easy and straight forward?
I don't agree that they are spread out and hidden... well, they are spread out but they arein the menus where they logically belong. For example, font setting is in the view menu, stuff that determines how the editor reacts to your input is in the behaviour menu, and stuff relating to syntax is also in the view menu etc. Putting it all in a prefs window is not much better: It takes longer time to change, and many people will check the menus first to see if it is not considered "deep" enough to end up in the prefs, I think.
What would be wrong with both? In many case users will want to change a number of settings in a short time period. Having all settings in a single convenient location would suit that activity very well. Other user will want to change things as they go, so the current behavior will work for them. What's wrong with trying to support multiple usage styles?
Having preferences collected also provides the user with a greta resource and reference for what is customizable and may even expose capabilities of the application they had not yet discovered. Since the code is already written to handle the changing of settings - would it really be that difficult to whip up a nib and connect the actions?