You'll have to go through US customs as well as normal security. If you don't have a NEXUS card then it is hard to predict the time. Arriving at the airport 90 minutes ahead of the flight would probably be safe. That puts your drive to the airport at rush hour where an hour is normal. That adds up to 2.5 hours. Make it 3 if you want to be safe. You'll have to be checked out of the hotel earlier anyway. The Airport Express is a good bet from the Sheraton and the drivers are very experienced on the route, so ask them when you reserve the ticket.