My daughter has been in speech therapy since she was 2. Her original therapist was through a children's hospital (and the state's early intervention program...) and she did allright there... But not a huge amount of improvement. When she turned 3, she started doing therapy through the school district and has shown HUGE improvement over the last year. Of course, a big part of that is (I believe) working with her at home, following advice the new therapist gave me. I can now (she just turned 4) understand most of what she is saying, and she speaks in full sentences and tells stories. Last year, she could only say 3-4 word sentences.
Honestly, I would look at the therapist's workload and stuff like that, rather than the "type" of program it is. I would have assumed that the private program was better, but our first one was SO crowded that the therapist barely had time to tell me what they did that day, let alone sit down and talk about things I could do to help her, before she had to rush off for the next appointment. (Granted, the early intervention lady came to the house once a week to help me learn to work with her, but she was brand-new and didn't have much experience, so didn't help as much as the public school's speech therapist.)
One thing that I think has helped a lot is that while reading bedtime stories, I have her read along with me. We have always read two stories before bed, but it was usually me reading, and her listening and pointing at pictures. Now, I will have her "read" the first story to me. I read a word at a time, and have her repeat it to me when we work on enunciation. Sometimes I will read a few words at a time, to have her work on transitioning between words and saying full sentences. I started seeing immediate improvement! Plus, she has started learning to read without me actually teaching her, which is a plus. Lol. :)
Good luck with your decision!