I'm pre-booking lodging in the major places where I'll spend several days. Right now I'm planning to be in each of these places for one night and I don't have a sense that I need to pre-book, with the possible exception of Ronda, which I gather gets a lot of visitors (this is for April).

Any particular recommendations on places to stay in these towns? I realize that Algeciras isn't highly regarded, but hear the road down from Ronda is a spectacular ride as well as the train back up, which I will take the following day. I've also heard that touts can be as much of a bother here as at Tangier, while the old town is actually quite nice.