Well I don't specifically drive like a grandma, and I know my car was able to get 525.8 miles (14.302 gallons) from the last tank. Which is 36.76 mpg. It's been way warmer recently and I think that is key. From my previous post, when it was colder, my millage sucked something awful. A bit better than what you are stating, but not anywhere near EPA mpg.
With regards to the sunroof, I don't think the sunroof should be cutting down your millage by that much, who knows though. I have the base hybrid model. I was always told any weight on the outside of the car can effect performance, be it heavy rims or sunroof glass. I don't think that is the case with your car though.
My only thought about your millage, are you trying to get the car to operate using the electric motor as much as possible? Earlier tonight when coming back from seeing a show in downtown Chicago, my wife was driving. She has driven the car only a handful of times. We were discussing that the car was stating its tank average at 41.4 which I thought was pretty sweet

However she mentioned, that will be coming to an end since she was driving. She does not drive it enough to know when the car is going to be using electricity or not. She more or less drives it the way she drove all our other cars, paying no attention to when the car is using what. She will eventually figure it out when she drives the car more.
Perhaps you will be seeing better millage now that spring has arrived.
Since its been a bit warmer its been easier to hit 40+ mpg sooner in my commute so I know its possible. I also don't feel like Ive been doing anything remarkably different than a normal car is capable of doing. And since my commute is more or less all the way down Roosevelt and back, I can get the car to run a good chunk of the commute using the electric engine.
One suggestion, perhaps you are breaking too much. Be sure to watch what the lights are doing way ahead, roll as much as possible. Make sure you leave enough room between you and the people ahead of you, so you break as infrequently as possible. Basicly if you arent tailgating, you shouldnt have much of a problem.
I can literally go for miles, only having to break if someone cuts directly in front of me, or if I need to come to a complete stop. And I do this in chicagoland traffic.