What ever you use it should be applied sparingly as any over lubrication of the speedo cable has the possibility of the lubricant getting into the speedo head and causing problems.
The slightest smear is all that is required & I would use 3 in 1 oil as it is nice and light.
No.
I have found 3 in 1 to be just perfect and have always used it when lubricating speedo cables and never had any problem.
The lubricant needs to be thin and not too much of it either. Better with a little and often treatment. Grease can dry out and turn solid over time and then cause the speedo cable to snatch as the working surfaces of the cable and outer tube become dry and cause the friction between cable and tube to increases which leads to rapid wear.
I agree with not lubricating the top 12" as the lubricant can otherwise find its way into the speedo mechanism.
I usually find that the speedo cable wears where there are sharp bends so try to ensure that all bends are maximised.
The condition of the outer tubing of the speedo cable must be kept in good condition as water and dirt can otherwise enter the cable tube and cause rapid wear and no matter how much you lubricate the cable/tube wear will still take place. If the outer covering of the speedo cable tube has been broken the speedo cable/tube should be replaced.
As regards using Vaseline I have only ever used it when lubricating the wheel ball bearings of my lightweight time trial bicycle and that was many years ago; I would still use 3 in 1 as my preferred lubricant though.