I don't mean this in any way rude, but why do you let her get away with it?? Whenever my son back talks or says no, he gets ONE warning and then it is time out in the corner. If that doesn't work, toys start getting thrown away, TV is unplugged from the wall, priveledges are taken away. There is no way I will stand for me child to be disrespectful and not mind. I'd be nipping that one in the butt now or you're going to have a hell of a time as she gets older.
Yeah, don't listen to this. You're doing fine. You will have to readjust your tips and tricks every now and then; it's normal. Kids deserve respect too, and while you are on a timetable which isn't very flexible, in LO's eyes, you are interrupting him. Try giving warnings like "It's almost time to put on your boots" before it's time. Or warning him that school/gymnastics class/story time will start without him.
Maybe it's time for some natural consequences. Set a timer for time to go, plus an extra minute or two. When the timer goes off, it's time to go no matter what. Make sure he knows this. Then when the buzzer goes off, you leave, no matter what. If he hasn't finished eating, he goes hungry. If he hasn't finished putting on his shoes, he goes barefoot... carry his shoes obviously so he doesn't break fire codes, but yeah. Let him go in his pajamas or be a little hungry or whatever because he didn't pick up the pace. He'll learn.
FWIW I think it makes no sense whatsoever to take away something totally unrelated to the "crime" just for the sake of pseudo respect aka fear of mom. Didn't put shoes on when asked? Throw his legos in the trash? Huh? Turn the tv off if it's a distraction, sure, but don't punish just to garner pseudo respect. That just teaches him the biggest and meanest kid gets what they want and the smaller weaker kids don't count.