Combine the drained beans, ham bone or hock, and broth in the slow cooker. Cover and cook on High until boiling, about 1 hour.
Meanwhile, in a large skillet over medium heat, melt the butter. Add the onions, garlic, and celery and cook, stirring a few times, until softened, about 5 minutes. Add to the cooker along with the marjoram and bay leaf. Cover, turn the cooker to Low, and cook the soup for 7 to 8 hours.
Stir in the salt, pepper, and sherry, cover, and continue to cook on Low 15 minutes longer.
Discard the bay leaf and ham bone, returning any bits of meat left on the bone to the soup. Puree in batches in a food processor or in the cooker with a handheld immersion blender. Taste to adjust the seasonings. Add some boiling water to thin, if desired. Ladle into soup bowls and serve hot.