When I set this up, I first figured out what time in my timezone (EST) the email would need to be sent at in order for it to be delivered to that timezone/region between 7am-9am their time. Once you have that figured out, you can use a series of send email and wait steps in your batch campaign to "throttle" the email send based on their geographic location.
Here's an example of one we set up. We tag our leads as they come into "Email Flights" based on the Country field:
There is also an Idea on the community to have this be a feature in Marketo that you can vote on:
Send emails based on local times
You can also segment your database by region and send based on their segmentation. This is also helpful for sending webinar invites because you can use dynamic content to populate the time based on their region instead of a generic time.
Val has a good system. There are loads of threads on this too.
These are all great ideas, but you really have to decide if it is making that big of an impact. What results have you seen? When you are sending time zone specific emails are you seeing more opens/clicks than when you were not doing time zone specific emails?