I bet a lot of moms can sympathize with you during post-holiday seasons. Children aren't getting enough sleep or are eating the wrong foods, or they've seen way too many commercials about cool toys that they DIDN'T get .... a bad attitude at that age can go along with the season. Best thing that you can do is to be consistent with what is acceptable and what is not. Use positive reinforcement as much as you can, catch her in the act of doing something good. (i.e. "Daughter, you were sharing nicely, what nice manners you have! What a good listener!") Sit her down on a good day and tell her the rules AGAIN and what you expect from her (i.e. "there will be NO playing in the bathroom".) When you do punish her, be creative - find her achilles heel. If time-outs still work, don't keep her in too long, make sure you are clear on why she is getting punished, have her apologize after the punishment, then move on- getting in trouble is a 4-step process 1) The bad deed, 2) Find out what happened and make sure she takes responsibility 3) Punishment 4) Apology/Forgiveness then move on!. If she is vying for your attention, because she has a younger sibling, negative attention is STILL attention so make sure you are carving out a little alone time with her. They are very curious and independent in that age. The things you describe are pretty; typical, although, I'm sure still frustrating. (wait until she cuts her hair or shaves an eyebrow!) Again, be consistent. She now knows better than to EVER write on the Wii and should she do it again - be consistent in your punishment. Sometimes, punishing a special toy or her blanket can go far too. Again... you have to know what makes her tick????
Kids at this age do very well on small games and this is how they learn good sportsmanship, sharing and manners. Whatever you do, don't get in the habit of "letting her win"! She needs to learn how to be a good loser too. While playing a game, if a bad attitude begins, end the game immediately and her punishment is that she doesn't get to play a game with you. Let her know the rules from the beginning (i.e. "I hope we have fun and you play nicely so that we can do this again soon, however, you must have a good attitude so there will be no crying, pouting, etc...Understand?". If she plays well today, then you tell her how much fun you had with her because she (shared well, played nicely, had good manners, etc....) and schedule another time to play.
If you are in the habit of yelling, try to get out of the habit. Respond don't react. If you are sooooo angry with her, give yourself a moment to be rational. My dad taught me long ago to speak softly, slowly and deliberately when you are upset. " I can also quiet a roomful of screaming children just using that tone. It is a great tool that my father passed on to me. (My mother was a yeller so I'm constantly aware that I can, and have, gone on yelling sprees too!)
Please try to remember that the stubbornness you see in your four-year-old today may be a blessing when she gets to be a tween or teen and deals with peer pressure!
Best of luck to you!