For the employer case, this is true for prospective immigrants of all national origins except India and China, which also make up the bulk of potential engineers looking to become permanent residents. As of today, the average time for an Indian in the EB2 ('advanced degree or exceptional ability') category is roughly 5-6 years and this number is going up because of increased demand. For the EB3 category, the wait is at least a decade.
I agree that companies have the potential to abuse this power they have over you, but in practice, I have rarely seen this happen.