i've only just seen your question, onlyme26, and i was going to ask the very same one yesterday!
My nine year old is an angel at school and get star of the week often.
She is a bl00dy swine for me tho. Like yours, she's adorable when she's good - unselfish and very caring.
i think perhaps it is hormonal, because after its all calmed down, she can't really explain her behaviour.
I completely understand the guilt thing and i don't smack - but i can't half shout, but she's used to it. After she's gone to bed, i go in and there she is, all sweet and angellic, and i feel terrible.
I remind myself of the old nursery rhyme:
there was a little girl who had a little curl
right in the middle of her forehead.
when she was good she was very very good
and when she was bad she was horrid!
..and tell my self that that must have come from someone with the same problem, years ago! So she's not unique and we'll just have to get through it.
One thing that does seem to work, is videoing her on my mobile, and threatening to show it to her teachers! mwah ha ha ha! that does give me some power!