1 bone-in pork shoulder roast (Boston butt), 5½ to 6 pounds, trimmed of excess fat
1 tablespoon unsalted butter
½ cup minced yellow onion
1 cup ketchup
1 cup unsweetened apple juice
½ cup cider vinegar
2 tablespoons packed dark brown sugar
1 tablespoon unsulfured molasses
1 tablespoon soy sauce
½ teaspoon hot pepper sauce, or to taste
⅓ cup mayonnaise
3 tablespoons sour cream
2 tablespoons cider vinegar
1 tablespoon granulated sugar
¾ teaspoon kosher salt
¼ teaspoon freshly ground black pepper
½ medium head green cabbage, thinly sliced (about 4 cups)
2 medium carrots, peeled, coarsely grated (about 1 cup)
12 hamburger buns, split
6 large handfuls apple wood chips
1 large disposable foil pan
Soak the wood chips in water for at least 30 minutes.
Combine the rub ingredients. Coat the surface of the roast evenly with the rub. Allow the roast to stand at room temperature for 30 minutes before grilling.
Prepare the grill for indirect cooking over very low heat (250° to 300°F).
Drain and add two handfuls of the wood chips to the smoker box of a gas grill, following manufacturer’s instructions, and close the lid. When the wood begins to smoke, cook the roast, fat side up, over indirect very low heat, with the lid closed, for 4 hours. Drain and add one handful of the wood chips to the smoker box every 45 minutes to 1 hour until they are gone.
After 4 hours, use an instant-read thermometer to check the internal temperature of the roast. If it has not reached 160°F, continue cooking until it does. If it has reached 160°F, place the roast in a large disposable foil pan and cover tightly with aluminum foil. Return the pan to the grill and cook over indirect very low heat, with the lid closed, until the internal temperature in the thickest part of the roast (not touching the bone) registers 190°F, 2 to 3 hours more. Remove from the grill and let rest, in the covered foil pan, for 1 hour. While the roast rests, make the sauce.
In a large saucepan over medium heat on the stove, melt the butter. Add the onion and cook until softened, 5 to 6 minutes, stirring occasionally. Whisk in the remaining sauce ingredients, bring to a simmer, reduce the heat to medium-low, and cook until slightly thickened, 10 to 15 minutes, stirring occasionally. Remove from the heat.
In a large bowl whisk the mayonnaise, sour cream, vinegar, sugar, salt, and pepper until smooth. Add the cabbage and the carrots. Mix until the vegetables are evenly coated.
When the roast is cool enough to handle, pull the meat apart into shreds. Discard any large pieces of fat and sinew. In a large saucepan over low heat on the stove, moisten the pork with as much of the sauce as you like, and cook until warmed through, stirring occasionally. Pile the pork on buns and top with coleslaw. Serve with any additional sauce.