Rather than flying from LA to SF, have you considered driving? You'd be flying over one of the most scenic coastal highways in the world, and area that is very much worthy of 2-3 days of time.

Are you no longer planning to do Grand Canyon?

12 days seems like a lot - relatively speaking - for NYC. You'll have no shortage of things to do with that time of course, its just a a lot longer than anywhere else on your trip.

One way flights tend to be rather expensive, and I think you'll find the flights to and from Toronto to be especially pricy, since there is less competition from discount airlines on international routes.