Hey Haggi,
Just anecdotally, we're using only vector types (no colors, points or normals) in our node library, both for parameters and internally, and haven't run into any major problems (so far). Since OSL has no generics or templates doing this reduces redundant implementation and compiler warnings since it's common to want to convert between these types.
One downside of using only vectors internally it that you can't rely on overloaded functions like transform() to behave appropriately based on type, so we currently have wrappers called transformv, transformp etc (in the style of the existing transformc function). Arguably this makes for more explicit/readable code.
The reduced type safety has its own risks but I haven't found these to be significant in shader writing. You can use parameter metadata to provide hints to the UI that some vector params should be interpreted as colors.
Cheers
Steve