There are many out of the box families that come with Revit including a standard countertop and also a sink. One might reasonably assume these are the families to use when modeling a standard drop-in type sink in a countertop. But you will end up with a sink where the countertop continues through the sink bowl (see below).
Of course there is another out of the box family called “Counter Top w Sink Hole”, but you will quickly learn the limitations of this method. First, every time you place a sink you will need to lock the centerline of the hole with the centerline of the sink. If you forget or maybe just postpone that tedious task then when you move a sink, the hole will not move with it (see below). Secondly, there are endless countertop combinations – rounded corners, curved L-shape, U-shape, with/without backsplash, etc. If you wanted to stick with this method you would have to basically make a family for each type of countertop in your project with the appropriate adjustable sink hole. Or you could model-in-place the unique countertop with the sink hole integrated, but you run into the same problem if you move the sink.
Finally, the solution: First, create a new family using the “Generic Model face based” template, and change the category to “Plumbing Fixtures”. Next, copy and paste your old sink family into the new family, create a void (locked to the sink opening), and cut the surface with the void. When you go to place this family in a countertop, you will need to select “Place on Face”, and then select the countertop face.
Your end result will be a sink that can move independent of the countertop and the sink hole will always be in the right location. The only thing to get used to with this method is that the sink must be hosted to the correct countertop. If you try to move the sink to another countertop, you will need to reassign its host to that countertop.