Hi M.. You are not alone. I think almost all children hit a rough spot around 3 1/2 and it keeps going. My doughter, now 6 does the same thing. She gets a nasty attitiude for everything and has a thing with nasty looks and getting the last word in. I began sending her to her room every single time she did this for 6 minutes. I have not ever spanked her (although the thought has crossed my mind). I literally put her in her room for everything that she did that was mean or unappropriate. There have been times that she's in there every hour. Try closing her door, she may throw stuff, my child does, but I ignore it and in 6 minutes she comes out and tells me why she was in her room and I remind her that if she does this again, she will again be put in her room. I'm done yelling, fighting, and trying to reason, and this has seemed to help. You can also try telling her that everytime something you don't like happens and she doesn't change it, she goes to bed 5 min. early. I did this too and my daughter would sometimes have to go to bed before my 20 month old. She is getting better and I let her know everynight what kind of day she had, (good, o.k., bad). She also made herself a "good day" chart. She colors in the day if she has been good and at the end of the month if she has 20 good days, we go to the dollar store and she picks out a few things or she gets to pick some place special to go. Good luck with your battles, most of us are in the same boat.
R.