Plugins como ya te han dicho hay muchos.
Si quieres implementarlo tú, lo que tienes que hacer es usar las propiedades Javascript scrollTop y scrollLeft. Dependiendo de si el elemento esta posicionado absoluto o relativo, esas propiedades te darían el scrollTop y left absoluto o relativo. En JQuery existen funciones para ello y tendrás que ver la que te interesa. Esas funciones son scrollLeft, scrollTop, position y offset.
position, te da las posiciones x e y relativas a padre, y offset te lo da relativo al documento.
Lo que tienes que hacer es coger el elemento al que quieres ir, le calculas la posición vertical para ver cual es, y usas la función animate de JQuery para desplazar el Body (o el div contenedor que contiene el scroll) hacia esa posición (modificando el scrollTop por ejemplo, siempre que el body o el contenedor tengan scroll).
Lo más sencillo, como ya te han dicho es usar algo ya hecho, pero bueno, siempre está la opción de hacerlo tú.