- Preheat the oven to 150°C (300°F).
- In a small bowl, stir together brown sugar, garlic powder, onion powder, cumin, pepper, paprika and chili powder (if using). Set aside.
- Set pork onto a piece of heavy-duty foil 30-cm (12-in.) long. Rub oil all over pork and then pat brown sugar mixture all over, pressing to adhere mixture. Place onion under and on top of pork. Seal pork, onion and any loose brown sugar mixture tightly in foil. Wrap foil package in another piece of foil to avoid leaks. Refrigerate pork to marinate for at least 2 hours or, for maximum flavour, overnight.
- Place foil package in ovenproof dish and roast in preheated oven until meat thermometer inserted into thickest part of meat reads 82˚C (180˚F), about 2 hours.
- Carefully open foil package (avoiding hot steam). Use tongs or two forks to transfer pork and onion slices to a large bowl. Pour in cooking juices too. Using two forks, pull pork into shreds. Mix in carrot and barbecue sauce.
- Pile pulled pork mixture onto buns and top with coleslaw.
To make ahead, freeze foil-wrapped seasoned pork and onion in airtight container or freezer bag up to 1 month. When ready to use, thaw in fridge overnight and cook according to recipe directions.