My DD has some of the same willful qualities and there are times that I just want to crawl into a fetal position and retreat from the situation. I have found that keeping track of good versus bad days has helped me put things into perspective. Generally speaking, I have found that the good days far outweigh the bad; however, when we're in the middle of a bad cycle it's hard to remember that.
Also, it's helped to look at patterns in her behavior. She usually becomes more stubborn and intractable when going through a major change or milestone (e.g., potty training, moving to a big girl bed, starting a new preschool). Furthermore, I have noticed that it takes her about 8-10 weeks to adjust to a change. Knowing this approximate amount of time, allows me to see the light at the end of the tunnel. Finally, realizing these two things has helped me to have more empathy for her behavior and to look at it as her way of coping rather than a personal affront.
Lastly, if you are able to find a good preschool for her (even just a half day), it will certainly give you some breathing room and time away from her. My DD has gone to a Montessori Preschool since she turned 2 and the half day that we are apart allows me to replenish the emotional reserves needed to deal with her "bad days".
Good Luck!