My mom used to say, 'the trick to parenting a toddler is getting them to do what you need them to do without saying 'no' all the time." That wisdon changed my perspective, and it may also help you thinks of a few different strategies. One that works well for us is distraction. Just change the topic/what it is you are doing! Even, "Hey, let's go get a drink of water. I'm going to fill my full of lots of ice . . . etc." can be helpful.
Sometimes when my son is crying/whining, I just stop and give him a hug. We sit and snuggle for a bit. I find that acknowledging their disappointment/wants even if they don't get what they want can be helpful in getting them to mentally move on.
Are you trying to transition him before he wants to? Does he ever get lost in his activities, or does his attention span seem short (to an adult) in everything? Sometimes we try to have kids work on our schedule, but maybe things will go easier if you look for natural breaks in what he is doing before you do something else. If I were in the middle of a great puzzle, I might throw a fit if my mom interruped me to take me to the grocery store, for example.
Finally, my girlfriend says, 'Boys are like dogs, they need to be walked every day!" Silly, I know, but the point is my boys seem to be so much better after getting some large muscle exercise. So head to the park, take the soccer ball outside, grab your tricycle/push scooter and get some fresh air.
Good luck, mothering is a creative process! Pick your battles, he doesn't need to be perfect at everything, and that way you don't have to feel that you are always riding him. It's clear you love him, and want the best for him. That should take you a long way.