Yes, unfortunately it does take forever...
Once you get married, the process usually takes 5 years for a LPR to sponsor his spouse.
In the mean time, the spouse is not supposed to be in the US, unless he/she has a valid visa.
It " only" takes about a year for a USC to sponsor his/her spouse.