I do this all the time, but use small buttons next to the slider. This is handy when one wants to jump to specific value, and sometimes it is hard to get the slider to go there exactly without few hits and misses and one ends up opening the slider using "+" and typing in the value in the small window which is not very efficient sometimes.
Here is an example
Manipulate[
pad[v_, f_List] :=
AccountingForm[v, f, NumberSigns -> {"-", "+"},
NumberPadding -> {"0", "0"}, SignPadding -> True];
tick;
Sin[x],
Grid[{
{Manipulator[
Dynamic[x, {x = #; tick = Not[tick]} &], {-2 Pi, 2 Pi}],
Spacer[5], Dynamic[pad[x, {4, 2}]]},
{Row[{Button[Style[-2 Pi, Small], x = -2.0 Pi; tick = Not[tick],
ImageSize -> {40, 20}],Spacer[5],
Button[Style[-Pi, Small], x = -N@Pi; tick = Not[tick],
ImageSize -> {40, 20}], Spacer[5],
Button[Style[0, Small], x = 0.; tick = Not[tick],
ImageSize -> {40, 20}], Spacer[5],
Button[Style[Pi, Small], x = N@Pi; tick = Not[tick],
ImageSize -> {40, 20}], Spacer[5],
Button[Style[2 Pi, Small], x = 2.0 Pi; tick = Not[tick],
ImageSize -> {40, 20}], Spacer[5]}
]}
}],
{{tick, False}, None},
{{x, N@Pi}, None},
TrackedSymbols :> {tick}
]
I kept the values numerical to remove any shifting in display as the slider moves.

Gauges
for this. $\endgroup$HorizontalGauge
dynamic? $\endgroup$