P.M.
This is so utterly human (e.g., my adorable husband). And especially so utterly kid. Your daughter might also be more in the moment than many other kids, and this is dependent on personality traits.
Your listening ears exercise sounds great. Since you have to spend so much of your time and attention to get her to do anything anyway, how about putting a little up-front effort into trying the following:
1. Give advance notice that you'll want her to get something done. "In five minutes, I'll want you to have your shoes on." "Three more minutes with the crayons, then it's time to clean up." Transitional time is often helpful to young kids.
2. When you make a request, try to put it in positive terms. "You can come and have spaghetti as soon as your hands are washed." If you can make it a game, better yet, but you'll probably need to find out the scenario she's already running and not try to pull her into a completely different one.
(Parental credibility is essential, so avoid impossible scenarious/promises that can't or won't come true. A big party? SpongeBob? Won't really happen, so it's doubly important that the imaginary scenarios be those that she can enjoy on her own imaginary terms.)
3. If you want her to actually hear you, pause, get down and look her in the face, touch her gently (cheek, chin, or shoulder all work), and make your request in a soft voice. Sometimes even a whisper is effective. Kids very easily get used to filtering out loudness, nagging tones, and repetition. Didn't we all?
4. Usually when I have to repeat a request a second time, and definitely by the third, I actually accompany my Grandboy 3.5 to lead him away from the project of the moment and help him accomplish the task. Takes time, but helps establish the seriousness of my authority in a gentle and participatory way. It also reduces the natural tendency to let procrastination become a habit. As a result, I seldom have to repeat requests more than twice. He knows that's my limit.
5. It's often helpful to give a good reason for your request in terms the child can relate to. "We can all go to the park as soon as we are done with lunch." Explaining possible negative consequences works too, as long as you actually let the consequences play out: "If we take too long doing these other things, we won't have time to go to the park."
6. I don't know why this works, but sometimes I just say, "I want you to be in the shower/have your jacket on by the time I count to 10." Grandboy hustles. Could be competing against the clock (I do sometimes want to find out "how speedy you are?"), because there is no suggestion of threat or consequence when I do that. Try it; it might work.
In the most ideal circumstances, children gradually learn the relative ease and joy of being self-directed and self-disciplined. There is a place for strict discipline, especially when her safety is in question. But parental discipline eventually has the drawback of always being imposed from the outside. Various studies suggest that internalized discipline only develops later, if ever, for many children who grow up with overriding parental authority as the main, or only, family dynamic.
And there's the whole other problem of some children reacting against parental authority via complete rejection of their parents' values when they get old enough to figure out that option. So helping your daughter establish good habits and a cooperative attitude is highly preferable to "simply" making her obey.