Well there's probably a few approaches you could take with this. Ideally with a Helix pattern, you would build for example a blog that would exist within a feature module. If there's a project specific variation, moving the views to the project could present some challenges depending on how the renderings are defined. If you created View Renderings to represent your views, you would have multiple listings in the layout section of the same rendering. Ex. Blog Listing - Site A & Blog Listing - Site B
. I would avoid that. Alternatively if you were using a controller rendering, yes you could only have one rendering definition, but then your controller would need to render the correct view depending on the site. So you would need to make the Controller's more intelligent.
You could also go a different approach, if you wanted to keep everything in one layer. You could build another feature/foundation element that could handle rendering variations. It would be like taking some of the implementation ideas from SxA, where they use rendering variants that allows you to have one rendering that for example is a blog listing display, but with the concept of a rendering variation, you could vary the rendering html (and fields used) for your rendering depending on the site it's on. And this would allow you to eliminate the need for multiple views per site.