$110K 3 years out of college, at least in the current climate, is not at all uncommon in either NYC or SF/SV. It is not universal, but it's not rare either. If you look at the major investment banks, the institutional tech companies (see: Google), and the startups in NYC, this is the going rate for a mid-level engineer (i.e., $100-140K base). Hell, I have trouble finding fresh undergrads starting below $90K in these areas.
The point is, someone who is skilled at programming right now and has a few years of experience under their belt can very well pull at least $120K base, and even adjusting for cost of living differences, that's a hell of a lot more money than you can get in Canada.
In any case, this somewhat distracts from the point - it's not just about money. Myself and many other Canadian expats do not feel we can go back to Canada without working for the likes of SAP, IBM, TD, Royal, or any of the vast number of institutional enterprise companies that pound out rote, uninteresting code. There are some companies in Canada doing interesting work, but they are few and far between, demand for these jobs is intense, and job security sucks (after all, what incentive is there to treat you well when the employer knows they're the only interesting game in town?).
Compare with the SF/SV/NYC/SEA, where you can't throw a rock without hitting a row of innovative, interesting tech companies doing interesting things. We are hacking on interesting, immensely impactful things here, and we enjoy tremendous respect and security - after all, if management starts screwing around you hop down the street and go do something else that's interesting. The Canadian landscape looks incredibly bleak in comparison - a small handful of elite shops that everyone's clamoring to work for, and a vast tundra of code sweatshops where the problems are as uninteresting as the salary.
The challenge of course is politics, but that exists everywhere - Google has its own flavor (good luck using anything but Python, C, or Java, for example). Startups certainly have less politics, but just tend to be intensely personal affairs that revolve tremendously around the founder's personality and value system. Plus they tend to require commitments above and beyond what people that want families are able to provide. Large companies provide a much higher probability that you can have huge impact on people's day to day lives within a 5 year period, in my opinion - if you land the right project, with good management.
No question that people in their 20's should try a startup gig -- I moved to SF and NYC myself at ages 20 and 22, respectively (I dropped out to do it), and don't regret it. I even made a run back to SF at age 30 to try a startup again, this time as an executive (it failed). But I'm making more money now in IT because startups taught me how to get things done, which is an insight in very short supply in most large companies.
On the other hand, I haven't seen too many high-end SAP technical jobs that were "rote"... soul-sucking, sure, as you're working for the man, but still requiring a lot of brain power. I refuse to do it because I find more pleasure in torturing SAP consultants than joining them.
I've heard so much about how the grass is greener on the other side but it is not so easy for some of us to join in on the action. I have a bachelors in CS and two years of Canadian experience under the belt.
For example I've found indeed.ca to be very useful for locating job openings in most Canadian cities and http://www.grasmick.com/ was recommended to me by some expats.
First things first: get a LinkedIn profile if you don't have one already. Spruce it up, keyword it straight to hell - name drop pretty much every technology, field, and subfield you have substantial experience in. Almost all recruiters rely heavily (some would say exclusively) on LinkedIn for discovery, make sure you're positioned to show up in their searches.
Secondly, if you have friends in the Bay Area, Seattle, or NYC, they're probably being contacted daily by recruiters - tell them to send some your way. US recruiters may not be actively seeking out Canadians, but if a qualified one lands on their doorsteps I'm certain they would be pleased.
I have a recruiter I've worked with in the past I'm happy with (disclosure: I don't get any kickbacks or anything), if you want to contact me privately we can see if there's a fit there (email in my profile).
In case you are curious the situation here in Calgary (not a tech hub by any definition) is entirely different. The recruiters use similar tactics but the pool of working professionals is rather limited so you quickly develop a reputation. Sometimes you get the feeling that the it's the same players shuffling around a dozen employers.
The economics however are completely different because imo job opportunities are very limited. The base salaries you are describing for a recent grad (or American mid-senior level developer) are on par with middle management with approximately 15 years of experience.... So from a financial perspective it's really a no brainer many of peers who can leave are long gone. It's rather depressing but I almost feel like the Canadian education system is a farm team for American software companies.
EDIT: It is certainly not unheard of, but only for top graduates. Also, I see you were talking about equivalent 110k salary in Toronto which would be 130-140k in New York. This is a high base salary by any standard.