Most firms aren't strategic; they don't understand your business; they assign poor writers who don't understand branding; etc. The problems you've encountered are very common.
Retainers can vary from $5K-$20K/mo or more. It all depends on what you actually need, on the intersection of social media with your conventional online/print presence; on whom you actually need to reach; and on launch programs (even spend/month is uncommon, because trade shows, major launches, etc. all have a major effect). One thing you should know (and very well may): the conventional "pitches" and days of sending out press releases expecting the press to swarm like bees to honey are over.
Small is not necessarily bad; bigger is not necessarily better. It all depends on whom you actually work with, on who is running your accounting and strategically leading the charge (which includes day-to-day ops).
There are other factors, too. What's the clay they're working with? Do you have your brand strategy full developed? Do you expect them to develop it further? There is no one right answer without knowing more about your situation and your particular goals.
Drop me a line here or via LinkedIn and I'm happy to refer you to an agency that's actually first class, which I'd personally hire, and where I personally know the Founder/CEO.