I'm a U.S. citizen by birth and my wife is Brazilian. We filed an I-130 from Brazil and received a CR-1 visa and, later, a Green Card for my wife.
We lived in the U.S. for just under two years and then moved to Canada. When we moved to Canada we surrendered her green card rather than remove conditions and try to put a hold on it. We should have done otherwise but we had poor legal support at the time.
Now we're trying to move back to the U.S. and we have a guaranteed job but we'll have to go through the whole procedure again (12+ months!). We currently live in Canada, near Montreal.
We have a 2+ year old daughter who is a U.S. citizen by birth. My wife has a Canadian multiple entry visa and work permit, and I have a Canadian work permit.