The USA creates a quota/lineup system on a per country basis.
You have 3 basic options:
1. Work at a European office for a year, transfer on an L visa, apply for a green card once your in the USA.
2. Apply for an H1-B around march/april, see if you made the lottery, get your visa in october, apply for a green card once your in the usa.
3. Work at a European office for X years, apply for a green card outside of the USA, starting immediately while your working there, wait until you get a green card, move to the USA. It took about a 1 year to 1.5 years for a former coworker to do it this way.
O-1 & E visas are too special case to think about for the most part. And there is always getting married to a US citizen.
Basically it's like applying for a green card normally, except your out of the country and you get the visa with "consular processing". I'm not sure if you can work remotely for the company or not while the green card process is happening.
I think most employers don't want to do it although because your not working for them while it's processing. With a dual intent visa you can work for the company while the green card is processing and your in the US office.
This outlines it: http://www.path2usa.com/employment-based-green-card
*Note: I know technically employers apply for you, not you yourself independently. It's just easier to write it that way.
You can also apply for H-1B and if you get that then you can just switch to it then apply for a green card.
The downside of the TN is that it is a "temporary" permit. Technically it's not actually a visa. It simply allows you to work and live in the US for a "temporary" amount of time. The temporary part is very gray in this case, since it is up to the discretion of the border guard to determine if you are using it in a temporary sense. Similar to the H-1B it can last for up to 3 years, and can be renewed after that.
The other big difference is that dual-intent is not allowed on the TN permit. In other words, you are not supposed to apply for a green card while you are on it. The H-1B is dual intent and therefore that's what you want if you want to get a greencard.
A pretty typical path for Canadians who start working in the US and decide to stay is TN -> H-1B -> Green Card. However, it is not easier for Canadians to get an H-1B. They must participate in the lottery like everybody else.
> "In other words, you are not supposed to apply for a green card while you are on it."
You can actually do this, it's very painful but it's not rare. The gotcha is that the moment you leave the country your TN is kaput, so you're effectively trapped in the USA until the green card process is complete.
Not quite true. Once you've filed for adjustment of status (which you can only do once your priority date is current), you can also file an I-131 for advanced parole, and after receiving this, you can leave and re-enter the US with it. Technically you're not on a TN anymore though.
Virgil Keep America At Work