It's not ideal that this is so difficult to get a hold of as not everyone realized they need to keep track of it, I didn't know I would need 10 years history for my PR and it took looking back at my old emails to find and work out some dates.
You can also look at passport stamps help for some trips, but that won't always cover everything and especially the US ones seem extremely prone to fading. If an EU passport, that means no EU stamps; electronic passports also mean no stamps for countries accepting them (ie: UK/NZ). I've even been to countries that have no record of my entry (EU borders aren't that strict), but obviously you wouldn't need to list that. I've even had an officer refuse my request to stamp my passport once (GVA).
The final option is if you fly with a frequent flyer program there are records. For example the Air Canada altitude page stores all flights taken on Star Alliance metal.
Worth noting that the I-94 is only required and tracked for land entries to the US. Flights by air require (for many) an ESTA.
The CBSA page listed is a good option but remember it lists entries into Canada only. I certainly have stamps and visas (with dates) on my passport for trips that CBSA won't directly record as I entered to/from those countries through other countries.