NY 166 begins at an intersection with NY 28 in the village of Milford as an eastward continuation of County Route 44. NY 166 progresses eastward as East Main Street to the north of Wilbur Park along a residential neighborhood before crossing railroad tracks and intersects with River Street, where it turns northeast out of the village. The road enters the town of Middlefield, where it crosses the Susquehanna River and intersects with CR 33 and CR 35B. The two-lane highway remains rural after leaving Milford, paralleling the Susquehanna back into the town of Milford for a short distance before returning to Middlefield. NY 166 continues northeastward, bending riverside northward past several farms until an intersection with CR 43. After CR 43, NY 166 begins winding northward through Middlefield, passing a large pond on the east side of the highway. The route soon intersects with CR 52, where it bends to the northeast once again, passing Forest of Dozen Dads County Park before entering the hamlet of Five Points. Five Points consists of a few farms, but NY 166 continues northeastward out of the hamlet through Middlefield, passing several farms and residences. The route and the shrinking Susquehanna bend northward, where NY 166 enters the town of Roseboom, where it intersects with the western terminus of NY 165. After NY 165, NY 166 passes the Roseboom Cemetery and leaves the hamlet northward. A short distance later, CR 33, which intersected back near Milford, terminates now in Cherry Valley. After this intersection, residences become more dense, as NY 166 enters the village of Cherry Village, where it intersects with CR 54. At that intersection, NY 166 turns east onto Genesee Street. The route turns northward onto Main Street at an intersection with CR 50 before leaving the village after CR 54 forks off once again on Main Street. NY 166 continues northward through the town of Cherry Valley, intersecting with US 20 a short distance later. NY 166 terminates at the intersection with US 20's northbound lanes, while the right-of-way continues northward towards the Montgomery County line and NY 163 as CR 32.
History
When NY 166 was assigned as part of the 1930 renumbering of state highways in New York, it began at NY 28 in the village of Milford and ended at Main Street in the village of Cherry Valley. Construction began in the early 1950s on a new divided highway alignment for US 20 that bypassed Cherry Valley to the north. The highway was completed in the mid-1950s, at which time NY 166 was extended northward to meet the new highway. Since then there have been talks to extend NY 166 to NY 163 in Sprout Brook to provide a link with Interstate 90. In March 1968, Otsego County and the New York State Department of Transportation announced that they were to trade maintenance of several routes in the county. As part of the deal, the state would acquire CR 13 from the Chenango County line to Morris and CR 33 from Cooperstown to NY 166, a total of of roadway. In return, the state would turn over maintenance of NY 166 from the Milford line to NY 165, a distance of.