Social skill stories are a good tool, but often what I see happen with my clients is that they memorize the "correct" answer but have no better understanding of the "why am I supposed or not supposed" to do something. For that, a child really needs to have a clear understanding of "theory of mind" and of the perspectives of others. There are some good books out there if you search those topics. Additionally, a good behavior analyst with a background in this type of programming can be useful in helping design lessons that work on these concepts. Hope that helps!
Another suggestion to Tara's is to make a list of situations that he displays difficulty... e.g. when asked to share a toy, when there is a change in schedule, when a friend approaches him to play, etc.
From there you can do role-plays or rehearsals to help him learn needed skills. "Lets pertend..." Discussing these situations and exploring them, as social stories encourage us to do is great, but practice ultimately makes perfect!