- Place the roast on a baking sheet and generously season on all sides with salt and pepper. Cover with plastic wrap and refrigerate overnight.
- Brush the roast with 1 tablespoon of the olive oil and let stand at room temperature for 1 hour. In a large bowl, stir together the onion, sweet potatoes, red potatoes and the remaining 2 tablespoons olive oil, and season with salt and pepper.
- Prepare a hot fire in a grill. Place a steel grill roaster in the center of the grill, cover and preheat for 5 minutes.
- Place the roast, fat side down, in the pan and sear until well browned, 1 1/2 to 2 minutes. Turn the roast over and sear for 1 1/2 to 2 minutes more. Turn off the center burners and reduce the outside burners to medium-high. Place the vegetables along the sides of the pan and lay the rosemary sprigs on top.
- Cover the grill and cook until an instant-read thermometer inserted into the center of the roast registers 130°F for medium-rare, about 55 minutes, or until done to your liking; adjust the burners as needed to maintain the internal grill temperature at 325° to 350°F.
- Transfer the roast to a carving board, cover loosely with aluminum foil and let rest for 15 minutes. Transfer the vegetables to a bowl. Slice the roast and serve with the vegetables and barbecue sauce alongside.