I would say that you would furnish the "finished" part 3D model in one form or another depending on what your vendors CNC programmers machine can read. It could be IGES, which is probably the most common. The vendor would do the G-code programming for the "particular" machine he would be using. Your responsibilty is the finished "part" design only, let the vendor decide how its going to get machined to that stage. Programming is usually built into the machinig costs.
My 2 cents anyway.