I had this same question a few weeks ago.
Hands down, the answer is harness.
Cavaliers are prone to a disease called syringomyelia (SM) and wearing a collar (which puts stress on the neck) can aggravate the condition and/or the symptoms.
Why take a chance? I switched our boy to a puppia harness and he is very happy with it. I picked one up on Ebay for around $18.00. Shipping was $2.75.
Here was the sizing information taken from the Ebay ad:
The Puppia Soft Dog Harness is a real winner for comfort and is a best seller for your dogs.
XSmall
Neck 7-9"
Chest 11-13"
Weight 3-4 Lb.
Young Puppy, Chihuahua, Miniature Pinscher...
Small
Neck 9"-11"
Chest 14"-16"
Weight 5-7 Lb
Chihuahua,Yorkie, Maltese, Toy Poodle, Papilon, Pomeranian
Medium
Neck 11"-13"
Chest 16"-19"
Weight 7-10 lbs
Maltese, Shi Tzu, Toy Poodle, Beagle, French Bulldog........
Large
Neck 13"-15"
Chest 19"-23"
Weight 12-18 lbs
Shi Tzu, Pekingese, Min Schnauzer, Cocker Spaniel
XLarge
Neck 15"-17"
Chest 20"-29"
Weight 20-30
Bichon Frise......
Please measure you dog for the best fit. The breeds listed for each size are just an idea. For proper fit, measure girth around the broadest part of the chest.
Customers always ask us to measure the harness before we ship it out
These are our measurements of the actual harness. The chest can be adjusted
Due to the soft mesh material harnesses do stretch after a wile
Note: The neck and chest measurements are the important measurements. The weight is not.