Stir together first 5 ingredients.
Combine peppercorns and ground cardamom; press into roast. Place roast in a shallow dish; pour marinade over roast. Cover and chill 8 hours, turning roast occasionally.
Remove roast from marinade, reserving 1 cup marinade. Wrap roast in aluminum foil, sealing well; place in a shallow roasting pan.
Bake at 300° for 2 hours or until done. Remove from oven; unwrap foil, and drain, reserving juices. Increase oven temperature to 350°; return roast to pan, and bake 15 minutes.
Combine 1/4 cup water and cornstarch in a saucepan, stirring until mixture is smooth. Stir in reserved juices and reserved 1 cup marinade.
Bring to a boil over medium heat, stirring constantly; boil, stirring constantly, 1 minute. Stir in mushrooms, if desired. Serve with roast.
Prep: 15 min.; Chill: 8 hrs.; Bake: 2 hrs., 15 min.; Cook: 3 min.