On Android it is easy to toggle between normal (ring + vibrate), vibrate (vibrate only) and silent (no ring or vibrate) modes. How can I get all 3 modes and easily change between them on iPhone?
iOS is different than android in this aspect.
Vibrate is implemented as two software binary switches in iOS. Vibrate can be on or off in silent and independently on or off in non-silent.
Volume is a software slider that can optionally be controlled by the external buttons. When the silent switch is orange / down / silent most sounds are muted.
There are plenty of apps that control volume but not vibrate status outside the settings app. Take Five is my favorite.
Unless there is a jailbreak app that someone edits into this answer, there is no program that does precisely what you ask.