I've been trying to figure out how to do this sort of procedure before and I've never gotten close to figuring it out until today. I tried using the 'Vertex Group' limit method and I got the curve I'm after but that also bevels every other face on the mesh and if I try and apply only the necessary vertices to the vertex group it creates more artifacts again. I should also mention I'm using a subdivision modifier underneath the bevel modifier. This is what appears to cause the artifacts.
Here's how I need it to look:
Is there any other way around getting the bevel but not creating a bunch of artifacts or bevelling every other face in the process?