I hear your love for you daughter and your desire to be a good parent and raise a good kid. It is normal to get angry at our children. We just want them to cooperate, and to thrive, and they do all this stuff that we can't control, can't understand, and can't get them to stop. You say your daughter is 2.5, which can be an aggravating age for parents.
I think what might help you here is if you gave up the expectation that your daughter will automatically obey you. It is her job to push the limits, both to explore and to see where the limits are, and what happens when she pushes them. Really, that is her job. So when you give her a command and she ignores you, she is doing her job as a toddler. This will not be her job as a teenager, you will be happy to hear. In fact, if you do good job yourself of setting empathic limits now, she will be much better able to manage herself as a teenager. So accept that she will not be able to manage her feelings or her behavior now, set whatever limits you need to with compassion, and empathize with her upsets about your limit. Over time, that will help her manage her feelings, and once she can do that, she will be able to manage her behavior. Not to mention that her frontal cortex will come online, and she will become so much more reasonable! In the meantime, your attitude of understanding that toddlers don't obey will help keep you from responding to her normal age-appropriate behavior with anger.
I hear your concern about being permissive. Just in case you didn't read it on my website, the continuum of strict to permissive is only a partial picture. Raising great kids involves two continuums -- high to low expectations, and high to low support. So permissive parents have low expectations and high support. Punitive parents have high expectations and low support. Uninvolved parents have low expectations and low support. The kids who do the best according to research have parents who have high expectations AND high support. (For more detail on this, see this article: http://www.ahaparenting.com/_blog/Parenting_Blog/post/Are_You_Too_Strict_or_Too_Permissive/)
So to avoid being too permissive, think in terms of setting age-appropriate limits and expectations, while simultaneously offering your daughter high support in the form of empathy (seeing things from her perspective), modeling calmness, and patient, repetitive teaching. In other words, go ahead and set the limits that you think are necessary, but resist punishment of any kind. Instead, offer support by staying as calm and kind and compassionate as you can.
Let's look at how.
1. DD sometimes brushes (throws) food off the plate or table onto the floor. She also doesn't stop when I ask. (the other day I had her help me clean it up. She enjoys that though)
Your daughter is a natural explorer. In this instance, she is exploring gravity. She is also naturally helpful, and delighted to help you clean up a mess. It's fine that she enjoys that; you don't need to make it into a punishment. She is learning that cleaning up is a natural consequence of making a mess, and a smart girl like her will gradually learn that cleaning up messes is boring and avoidable. You could look at this as a learning experience instead of a power struggle. Just put a splat mat under her chair and assume there will be a mess.
But just because your daughter needs to explore doesn't mean you need to go through this day after day. As soon as she begins throwing her food, you can quickly remove the remaining food, saying "You must be finished eating. Food is not for throwing. Balls are for throwing. Let's get you cleaned up and go outside and throw your ball."
2. Today, she started throwing (hard) her plastic tea set which we had washed and set out to dry. She didn't stop until no more to throw. (I then rinsed them myself and together we put then back to dry)
Sounds like you have a girl who loves to throw. Does she have lots of balls and other throw toys? So you play beanbag toss with her? Frisbee? The more throwing, the better, I would say. Toddlers love to throw, and redirecting that impulse will be much more successful than trying to stop it.
If there was no danger in her throwing the plastic tea set, then it was fine. I presume you rewashed them yourself because you didn't want her throwing them again? Otherwise, since they're plastic, you might just give her a pail of water on the back step and let her wash them herself. If there was a danger from throwing, however, you could certainly decide to set a limit. Just remove either your daughter or the tea set. You would still empathize: "You feel like throwing. Come, let's find something safe to throw and a safe place to throw it."
But if you're worried that letting her throw the tea set was too permissive, don't worry. The only issue would be if she was confused about what things are permissable to throw and what things aren't. She's old enough to understand that balls and beanbags are for throwing, and if tea sets are on the permissable list at your house, she'll learn that too.
3. She was washing her hands and I said to wash just her hand. Then she stared to wash her arm, I said no more arm and she just kept moving the soap up. ( I then picked her up and put her under the shower. Not a great moment but I don't think she knew I was angry. Also, she almost has unlimited hand, arm, body washing at the sink. I just didn't want to her to THEN.)
Again, your daughter is exploring, and in general who cares if she washes her arm? But the theme I am hearing here is about her ignoring limits you feel are important. It is age appropriate for toddlers to push the limits, because they need to explore. That argues for you to examine your limits at times -- why shouldn't she wash her arm? But, on the other hand, toddlers also need us to set clear limits, or how will they know where those limits are? So we do need to stand by the limits that are important to us. And when we don't, we find ourselves angry, which I sense may be part of what is happening for you.
So if you are clear that you don't want her to wash her arm, by all means stop her. Do it before you get angry. Do it in a way that is respectful, and explain why: "If you wash your arm, your shirt will get wet and we will have to change it again and we don't have time before we leave." Then just intervene physically and remove her from the sink.
What if she gets upset? She might. Empathize with her disappointment: "You wanted to wash your whole arm. You love washing. I'm sorry we can't do that right now, but we can't get your shirt wet. Do you want to wash your arm before bed tonight?"
In other words, go ahead and set whatever limits you need to, but see it from her perspective, empathize, and redirect. Most of the time, that will be enough to engage her cooperation, given that she is able to understand so much now. But what if she cries and remains upset?
Toddlers often build up frustration and fears that they need to express. When we set a limit and they push that limit --whether it is throwing food, throwing tea sets, or washing their arm-- they are sometimes asking for an opportunity to cry. So if you have tried to be understanding, but you have to set the limit, and your child cannot take it in stride but has a meltdown, consider that maybe she needed that meltdown.
Here's a post about setting limits with a toddler that I think you will find helpful:
I hope this is helpful. You're doing a great job of remaining calm. That is giving your daughter a terrific foundation to become more and more cooperative. Don't worry that you need to be more strict to teach her a lesson. You're teaching her emotional regulation, and believe it or not, your repeated limit-setting is slowly but surely sinking in. You'll be so happy you were a patient parent when she's a bit older and very cooperative!