Survey: Sam's Club and Publix tops in customer experience