vrf-target import target:x:x will override vrf-target target:x:x
I assume this behavior has to do with the general convention of more specific ones being preferred ,over generic ones
vrf-target target:x:x by default generate the appropriate policy to match "all" routes for both export and import .
vrf-target import target:x:x by default generate the appropriate policy to match "all" routes for import that matches the configured target and places in the bgp.l3vpn.0,as your vrf routes are imported from bgp.l3vpn.0.
There is no difference as such between the two ,as the former is meant for both import and export and the latter meant specifically for import
No explicit policy required in both the cases to match the PE-CE protocol for export and matching BGP in import(as VRF routes are being imported from bgp.l3vpn.0).
Explicit policy is required matching the protocol , only when vrf-import and vrf-export is being used.
Please let me know for any clarification