How do I schedule a reminder email with Rules to users that have flagged an event? I have a content type: event  
It has a single date field: date
It has a flag on it: reminder


When the user flags the node, I want to schedule a rule to send them an email the day of the event. 

Can someone walk me through the steps on how to do this?

Edit: I have now gotten as far as being able to schedule the email

This is what I have so far.

Add new component
 - Type: Action set
 - Name: Send reminder email
 - Data Type: User
 - Data Type: Node

Add action
 - Send reminder mail
 - To: 'user:mail'
 - Subject: Don't forget about [node:title]
 - Body: 
 - Don't forget about [node:title] tomorrow!

Create new Rule
 - Name: Schedule reminder email
 - React on Event: A node has been flagged, under "Remind"

Condition: Entity has field Data Selector flagged-node  Field: Date

Action: Schedule component evaluation Action set: Send reminder email
Sounds like you know how to set up the Flag. Triggering a Rule with Flag is piece of cake and NodeOne has an create 15min tutorial covering all the details. They also have all the needed training on Rules if your fuzzy about Rules in general. Once your ready to set up your rule and you have the event to trigger it, you can set up the email action following a recipe similar to this other answer. In your case you have the future event. Lullabot has a tutorial specifically on the Rules Scheduler.