In a large bowl, mix barbeque sauce, teriyaki sauce, beer, garlic, ginger, onion, black pepper, and salt. Place the roast into the marinade, cover and refrigerate for six hours, turning often.
Preheat an outdoor grill for indirect heat. Remove the roast from the marinade, and pour the marinade into a saucepan. Bring to a boil, and cook for 5 minutes. Set aside for use as a basting sauce.
Thread the roast onto a rotating barbecue spit above indirect heat. Cook the roast for two hours, or until the internal temperature of the roast is at least 145 degrees F (63 degrees C). Baste often during the last hour with reserved marinade.