What is the best way to give ATC a position report using only a VOR (no DME or GPS)?
I'm going on the assumption you're operating in IMC (or perhaps VMC above a cloud deck) and have no reference to the ground. In a situation if you need a pop-up IFR clearance or ATC is requiring you to provide position reports for some other reason (non-radar, or your transponder is dead and they want to identify you but don't have time to issue you confidence maneuvers).
I'm going to further constrain the scenario with the assumption that all you have are "basic" IFR instruments (6-pack, clock, compass, and VOR -- no VFR/Handheld GPS, DME, or other fancy stuff).  

The AIM has some guidance on this subject in 5-3-2, but the general idea is your report should be "as accurate as possible". For routine position reporting like you'd use in non-radar environments (where you're giving an estimate of when you'll reach a reporting point) they're looking for "within 2 minutes flying time" on your estimates in most situations, so you'll want to give your position with the same sort of accuracy.

In the case you describe, with no DME, GPS, or other precision tool for reporting your distance and bearing from a fix your the most accurate option would be to report crossing a published intersection, VOR, or other reporting point noted on your chart - it's the most definite "I am HERE" report you can give, and ATC will certainly know the location.

If that's not an option (ATC needs to know where you are right now, and you're not over a VOR or charted intersection) I would probably start by computing the distance using the intersection of two VOR radials (whether this is a charted intersection doesn't matter, though it would help if your report is relative to one): Break out your chart and mark the location, then take your ruler and measure the distance from one of the stations (or a nearby intersection along the airway you're using) and you've got your position "as accurately as possible".

If you don't have a chart or can't get signal from a second VOR for some reason it's time to work out a time/speed/distance problem in the air:
If you flew over ABC VOR 10 minutes ago and are now flying from the VOR on the 090 radial at 120 knots, and you've got a 20 knot headwind (which you know from the Winds Aloft forecast, updated with data from previous position and time/speed/distance computations) then you know you've traveled about 17 miles, so you're "17 miles from ABC VOR, on the 090 radial".

The time/speed/distance computation has a lot of potential error (winds not as forecast, for one), but sometimes it's your only option.