My process is similar to Sam's except in most cases I already have a pretty good idea of places I want to go to and what I want to see. That's why I'm going in the first place.
About the first things I do is pick places I want to go to and go to the town website and look for acceptable accommodations. I make a listing of these accommodations on a spreadsheet with links to their websites and email.
Next I make sure the public transportation between venues works. Then I make flight reservations based on where I want to start and end.
For my next planned trip, I originally was going to start in the Allgäu, then go the the Spessart, then to the Middle Rhein. It made sense to fly into Munich and out of Frankfurt. However, I couldn't find flights I liked to Munich, so I changed my itinerary to into FRA, then the Spessart, then the Allgäu, then the Rhein, and out of FRA.
Once I have my flights, I pull the trigger on accommodations. Only rarely has it taken me more than a few days to get room reservations. In 2008, I wanted to stay in Cochem. I started writing well in advance, but everyone said they were booked. I ended up finding accommodations in a small town a few train stops from Cochem. When I got to Cochem, there were "Zimmer Frei" signs all over town. It was a festival (Federweiss) weekend, and I wanted a room for one person. Most places had only double rooms. I think hosts were just reluctant to commit a double room for one person so early when they might rent it for two.
Anyway, the last thing I do is book any train tickets that require advance booking. For the most part, I use local tickets or regional passes that I can buy as I go.