Diferencia entre DirectCast () y CType () en VB.NET

Soy un programador experimentado en C / C ++ / C # que acaba de ingresar a VB.NET. Por lo general, uso CType (y CInt, CBool, CStr) para las emisiones porque tiene menos caracteres y fue la primera forma de transmisión a la que estuve expuesto, pero también conozco DirectCast y TryCast....