Great Question Jason!
There are several ways to do it and it can depend on the aircraft you're flying and of course you're ground speed. Here are some ways to calculate a nice 3.0 degree descent.
Now in the Turbines and the Jets like the Excel and the CE-750 (citaiton X) we use the FMS and back it up in our head with a rough calculation. Heres that calculation.
You can take how much altitude you need to loose for instance 30,000ft is what we need to loose, drop the three zeros to 30 and mulitply that times 3.0 for 3 degs and that gives us 90. Now lets add 10 miles to that 90 for fudge factor including G.S. changes and obviously we don't want to hit our target alt right over the airport so lets add 5 miles to that b/c we'd like to be there at least 5 miles from destination so thats about 105 miles out that we need to start down at around 2,000ft/min. Another good rule of thumb is to be 30 miles out at 10,000ft.
Now that calculation is for aircraft that typically do over 250kts and fly in the Flight Levels but you can adapt that to 172s and smaller aircraft provided you have some DME on board.
Heres how to get a rough estimate:
For this example we'll use some constants:
500ft/min descent
100kts g.s. (now this will obviously change but I'll show you how to deal with that)
Ok lets say you're at 8000ft and the field elevation is 1,000ft so we'll subtact those and get 7,000ft you need to loose. So drop all the zeros if you are below 10,000ft to get 7.
Now take 7 and multiply that by 3, (for the 3 deg G.S.) 7x3 gives us 21, thats appx. 21 miles out you need to start down at 500ft/min and 100kts g.s. Now lets add some mileage to that to account for your G.S. increasing and the fact that you want to be at pattern altitude a few miles out from the airport so how about 10 miles to that to give us 31 miles out you need to start down at 500ft/min. That extra 10 miles we added will account for your transition to 500ft/min and your level off and your increasing ground speed.
Heres the math behind that:
8000ft-1000ft=7,000ft
7000ft/500ft/min = 14mins @100kts G.S.
100kts G.S./60mins=1.6miles/min you are traveling
1.6x14=22.4 miles out to start the descent
You can also check yourself as you come down. For instance when you are passing through 6000ft you have 5,000ft more to loose so:
5x3=15 (miles to go) and you are already established in the descent so you should be close to half way to your target altitude of 1,000ft.
Now check that with your DME in the aircraft or your GPS and you should be pretty close to that 15miles out at 5000ft.
Making sense? I hope it helps. Like I said its a ROUGH estimate but once you get used to it, it can work quite well. You can use it to check the GPS VNAV. Again you will see some variance due to G.S. changes but thats why we add that 10mile fudge factor which may be a bit much for the small planes but you can experiment with it!
Hope that helps!