Place roast on your preferred, flat work surface. (I use a piece of freezer paper on a counter.)
Tie roast in the butcher's style or tie with several lengths of butchers twine around roast. (This helps to ensure a more uniform shape and even cooking.)
Use a paring knife to make a dozen or more 2 inch deep narrow and fairly evenly spaced slits in roast.
Insert a sliver of garlic and a small sprig of rosemary "leaves" (NOT the whole stem,) rather deeply, into each slit.
Thread a stem of rosemary under the twine down the center of one or both sides of the roast (optional.)
Sprinkle generously with salt and fresh ground black pepper, then drizzle and rub all sides of the roast with olive oil.
Place oven rack in middle position and preheat oven to 350 degrees F. (Photo: meat lifters & heavy duty tongs)
Drizzle enough olive oil into a large skillet to cover the bottom; on medium-high heat on stove top, heat oil to a shimmer.
Place roast in hot skillet and brown on all sides for approximately 1 1/2 to 2 minutes each turn. (Use sturdy tongs or meat forks to turn roast.)
Remove from heat; cover skillet with lid or tightly fitted aluminum foil.
Bake at 350 degrees F for approximately one hour or until meat thermometer inserted into center of thickest part reads 150 degrees F. (If roast looks a little pale, increase oven temperature to 475 degrees F, remove lid or foil, remove rosemary stem/stems from underneath twine and roast for an additional 10 to 15 minutes to brown.
Transfer roast to platter; tent with foil; let rest while making gravy.
Gravy: Pour juices from pan into fat separator or skim fat from juice. (You should have about 1/2 cup juice.) Pour juice, from separator or skillet, into measuring cup or bowl; whisk in 1/4 cup all purpose flour until smooth.
Pour into skillet, add 2 cups pork or chicken broth; stirring constantly, bring to boil over medium-high heat for 2 to 3 minutes.
Stir in 1 teaspoon soy sauce, 1 teaspoon balsamic vinegar and salt and pepper to taste.
When thickened to desired consistency, remove from heat, cover and keep warm until served.
Cut and remove twine and rosemary branches from roast. Slice as desired.
Serve with gravy. Garnish with rosemary stems or sprigs, if desired.