In a skillet, heat oil over medium heat. Add onions; cook until soft. Add garlic, celery, chili powder and peppercorns; cook, stirring, for 1 minute. Add chili sauce, brown sugar, vinegar, Worcestershire sauce and liquid smoke. Stir to combine; bring to a boil.
Place pork in slow cooker; pour sauce over pork. Cover and cook on LOW for 10 to 12 hours or on HIGH for 6 hours, until pork is falling apart.
Transfer pork to a cutting board; pull the meat apart in shreds, using two forks. Return to sauce and keep warm.
When ready to serve, spoon shredded pork and sauce over warm buns.