Gimp or Photoshop are great tools, but I've found something better. Check out zabarw.pl - it's a website designed specifically to recolor your photos. There's a short video tutorial explaining how to use it. I'd say the results are quite realistic - it's hard to tell which wall was recolored and which wasn't.
It's free and works directly in the browser - you don't have to install anything.