I think your post says a lot- "9 times out of 10 I give in." At your daughter's age, any time you give in on a temper tantrum, she learns exactly how to get her way. I know, because I've been there, and still go there on occassion. There was a saying I read once that I loved, "we will not give in to tantrumists!" :) Believe me, at first, it broke my heart when my daughter would cry and cry but that would be the worst time to give in. What I do is tell her when she calms down, we can talk about it, then I walk away. I've actually caught her peeking out of her room to see if I'm coming after her or watching herself in the mirror as she cries. Just make sure she's somewhere safe, let her cry, and eventually, she *will* calm down. To me, what happens next is the most important part. That's when I'll talk to my daughter about what just happened, let her know I understand she's upset/frustrated/angry/etc, and explain why I said no. I think a, "no, because I said so" is unfair. Kids need to know why they can't do something or get something they want. Sometimes I even catch myself wondering why I said no in the first place and it's a good opportunity for me to think if this is really something she can or can't do.
I think it's great you're teaching your daughter good manners, something that's severely lacking these days. If you're asking her to say please, then wait it out. She'll say it, even if it's after 20 minutes of crying and screaming. And when she does, she'll know you mean business and you'll both be so much better off for it!! Good luck!!