For textures, all you need to do is create a brush in a vector program and use it for fills. For example, take any 512x512 (rasterized) texture and make it a brush, and it will work just like a raster program (including the crappy scaling). You can also, however, create vector patterns that can be used as textures, which are a bit more flexible, but not by much. (They'll scale better, at least.)
For fills (gradients, etc), most raster and vector apps seem to be about the same. Vector apps might have a slight advantage of being able to follow paths with a fill, but this is pretty advanced, and not many apps can do this.
Most of the effects available in a raster app (which work by doing math on the pixels) simply aren't possible on most vector systems. Naturally, there are some effects that only work on vectors but, for most map work, these don't really matter. Some vector apps use a strange hybrid, where they "remember" a series of raster effects to apply to an object and, after the vectors are rendered to to a screen buffer, apply the raster effects. This isn't really the same, though, as altering the pixels directly.