In a large slow cooker, combine the onion, ketchup, vinegar, brown sugar and paprika.
Using a sharp knife, cut slits all over the roast. Rub the meat with the cut sides of the garlic. Tuck the remaining bits of garlic into the slits and season generously with salt and pepper. Add to the slow cooker and coat with the sauce. Cover and cook on low heat until tender, 7 to 8 hours.
Using tongs, remove the beef from the sauce; shred. Skim off and discard the fat from the sauce, stir in the shredded beef and season with salt and pepper. Sandwich the meat, topped with some coleslaw, on the buns; serve with more coleslaw on the side.