In my work, I usually use the integration of Hampson Russel Ismap and Petrel Velocity Modelling to create the Velocity cube.
The workflow are somewhat like this:
1. From horizon(time) we try to create horizon(depth) using Ismap and Gostatistical analysis (basic kriging,etc), the input in this process is your horizon (time) and well marker.
2. Suppose you want to create horizon (depth) of A, then you should have horizon(time) A and well marker A to become the input in the Ismap process.
3. After you have the horizon(depth) you can import this horizon to petrel and create a surface velocity of that horizon
using simple equation: (horizon(depth)/horizon(time))/2 to create surface velocity of that horizon,
we divided by 2 because the value of velocity is TWT
4. After you get the surface velocity, you can create velocity model using horizon (depth),well marker, and surface velocity as inputs.
Usually I have no problem using this method.
Hope this helps!! Feel free to contact me for further discussion