Depends. Who's your carry? If you're doing draft and/or ranked, what are you going against? Do you want a kill lane, a poke lane, or a farm lane?
Alistar, Blitz, Taric, and Leona are typically good for kill lanes.
Janna, Sona, Lulu, and Nunu are typically good for poke lanes.
Soraka is the best for a farm lane.
That being said, both Alistar and Taric can do well in a farm lane since they have a heal. Personally, I think an Ezreal/Sona lane is a poke lane that turns into a kill lane since they have so much poke between the two of them. So, nothing I listed above is set in stone.
Typically, the more burst a carry has the better off they do in a kill lane. For example, Ashe and Caitlyn tend to do better in a farm lane while Graves and Ezreal are strong in a kill lane.
You also need to consider what you're up against. Taking Soraka against Blitz is asking for disaster. You'd be much better off with Taric, Alistar, Leona, or Janna if you know how to use her. Nunu, on the other hand, loses hard to Soraka. Her silence has a longer range than his snowball. Every time he steps up to snowball, she can silence which leaves him over extended and helpless.
Long story short, there's no one best answer. Your best bet is to learn which supports compliment which carries, which supports counter which support, and which supports fit best on your team overall. If neither your top lane nor your jungler are tanky, you probably want a tank support. If you already have 2 tanks, though, Soraka can invaluable to the team.
Finally, don't listen to anyone who says Soraka and Sona are garbage. Soraka's considered the top support with Janna for a reason. And when played well, Sona is a great asset on a team too.