In general, Microsoft's tooling for SharePoint is pretty weak at the moment. Hopefully this will improve over time! That said they have released the Visual Studio Extensions for Windows SharePoint Services 3.0 (VSeWSS) for Visual Studio 2005 and 2008 which I find pretty useful.
I typically use the UI to generate list and/or site definitions and export them using VSeWSS. From there I create features using the exported XML files (with a bit of cleaning up here and there) and bundle the features into a solution.
There's still a lot of fiddling with XML though. VSeWSS will try and hide some of that from you, but I personally use WSPBuilder because it gives me the most control. (Un)fortunately, you eventually get used to the markup SharePoint and it does get easier!
For web parts I code these by hand and package into features. SharePoint Designer can also come into handy here when configuring them.
For page layouts I use SharePoint Designer to create and tweak them and then put them into a WSPBuilder solution in Visual Studio and package them into a solution.