Scheduled automations can go out at a specific time of day. However, if you have a scheduled automation, it cannot send out multiple emails to different people customized to each person.
If you want to sent a customized email to each person, you usually use the “when meets condition” automation trigger, but the automation conditions can only check the date, not the time of day.
Here are two possible solutions:
Have a formula field that calculates if it is three days before the event and also the time you want. Then trigger off this formula field. However, this requires using NOW() to check the time, which can be off by a few minutes to a few hours.
Another option involves having two automations. One automation runs at a scheduled time every day. That automation sets a flag in the actual records to be sent (either through a control record or through a scripting automation). Then a second automation triggers off the flag and sends the email. This method has a much better chance of the emails being sent at the proper time. However, it can be overkill unless you expect some emails to be sent most days.