To provide [something] to [someone] is a far more recent usage per @jeffsahol's answer, provide x to y often implies that y did actually receive x, whereas provide x for y can be used.
Provide can be either transitive or intransitive.
All of your sentences above appear correct (as provide can take both a direct and an indirect object, and the with may be implied, as in your.
The verb provide has two different subcategorisation frames:
Provide something [ to somebody] provide somebody with something in the first, the material provided is the object, in the second.