You checked engine vacuum pressure? Is the intake leaking air? Is you brake booster good? Most time a vac leak causes high idle but if you are loosing enough to not have enough. There is many reasons it could run rough, from misfiring to throttle body/IAC dirty or bad loose electrical connections.
Search GMC Sierra 1500 Questions
GMC Sierra 1500 Experts