As for the time taken, my personal experience has been that PERM takes about 6 months. After that I-140 + I-485 can be concurrently filed if your Priority date is current. They can take another 6 months to get approved. After that there is a mandatory 180 day period before you can switch jobs. Total average case time should be around 1.5 years. This assumes that your application is not audited and your immigration lawyers are not backlogged. YMMV.