Soraka is a sustain/poke support, so she excels against poke compositions but flounders against engage and burst compositions. Something like a Caitlyn or a Lulu is a good matchup for Soraka, since her sustain more or less cancels their poke, while someone like a Graves or a Leona is a poor one, since she can't deal with their CC and burst. She also does well against fairly immobile supports and ADCs, since that helps her land her Starcall and sustain herself.
Soraka's biggest weakness is her lack of tools to immediately peel someone off of her carry. Therefore, the best carries with her are those with the tools to get themselves out of sticky situations on their own, like Tristana, Caitlyn, or Ezreal. She also does well with ADCs who can poke along with her and reduce the risk of being engaged on, like Corki, Sivir, and Varus. If I had to pick three, I would pick Caitlyn, Corki, and Ezreal, since they have strong poke to complement her own and have the escape tools that she can't provide.
Soraka rocks in a poke comp, since she can negate pretty much any damage coming back at her team with her Starcall spam. Her heal range is short and she has no peeling, though, so you want to be careful in or against a hard-engage comp or against a burst-heavy comp. As a special note, Soraka's silence REALLY screws up machine-gun midlaners like Cassiopeia and Karthus, and it can mess up a lot of melee assassins like Katarina and Talon who have to jump on you to pull off a lot of their combo.
tl;dr
She's good in a poke comp, and so does well with pokey ADCs. She also likes ADCs with self-peel, since she struggles in that department. Beware of burst and hard-engage supports and ADCs like Annie, Leona, and Graves, and Sivir, and you should be alright.
Anyway, this is just my opinion. Have fun!