I've tried a number of things over the years and do not find that any one thing works best for all dogs, or even a single dog in all conditions. Some of the solutions:
Trimming fur to bottom of feet
Trimming fur between toes
Spraying feet with a spray oil such as Pam
Applying vaseline
Musher's wax
Booties
I've gotten away from trimming fur the past several years because I've noticed it increases the likelihood of abrasions in the nail bed and webbing. My guess is that the longer fur acts to protect these areas.
Oil and vaseline both require frequent reapplication. Wax too, but less so.
Booties are tried and true, but few people take the time to work with their dog to introduce them positively and gradually. Try laying on the floor with your dog, put one bootie on, then take it off within 10 seconds. Gradually increase time and number of booties. Once your dog will lay with them on for 5 minutes, ask the dog to get up. Make sure this is on non-slip flooring. After a few weeks of this, begin to ask them to walk around.
One method I learned here to help keep booties on in the snow is to wind vetrap around the dog's leg about where the top of the bootie will go. Put the bootie on. Wind duct tape around the top of the bootie, taping it to the vetrap.
As always, be sure to check your dog's paws frequently in winter conditions, especially if it is icy.