What is the Right & Best way to develop VIP?

The answer to your question is going to be very application/design dependent. A key consideration is how you architect the communication between the components and how dependent they are on one another. Communication between sequences has a very rigorous protocol which makes re-use much easier. Component-to-component communication tends to be more ad-hoc.