Preheat the oven to 350°F (150°C).
In a small bowl, mix together the brown sugar, paprika, garlic powder, onion powder, salt, black pepper, and cayenne pepper if using.
Remove the pork skin 3/4s of the way and make several 1-inch cuts into the pork.
Place the garlic chunks inside the slits and rub the pork shoulder generously with the spice mixture.
Place the pork shoulder in a roasting pan and coat it with a portion of the homemade BBQ sauce.
Cover the pan with foil and roast in the oven for about 6-7 hours until the pork is tender and easily shredded.
While the pork is roasting, make the coleslaw. In a large bowl, combine the shredded green cabbage, red cabbage, and grated carrots.
In a small bowl, whisk together the mayonnaise, apple cider vinegar, honey, Dijon mustard, salt, and pepper to create the coleslaw dressing.
Pour the dressing over the cabbage mixture and toss until the vegetables are well coated.
Cover and refrigerate the coleslaw for at least 30 minutes or until ready to use.
Remove the pork from the oven and let it rest for a few minutes.
Shred the meat using two forks, discard the bone, then mix it with the remaining BBQ sauce.
Serve the BBQ pulled pork on toasted hamburger buns, topped with a generous spoonful of the fresh coleslaw. Enjoy!