Viciedo drives in 4 runs as White Sox top Tigers