Depends on the type of curved wall.
First example: Inner curved wall. (where you do not see the 'far' side)
Start with just your basic square room / corner
Here, my wall thickness is 16.
Say we want a quarter arch that fits in a 128x128 square.
Create a full (360) ARCH, which is twice the size, PLUS two times the wall thickness. Use a nice side-number, remember you'll end up with only 1/4 of the total. Something like 16 or 32 is nice (ending with 4 or 8, for the quarter).
Either select the sections or clip off the bits you dont want.
Now vertex edit the ends so that they are no longer overlapping the outer wall brushes, and fill in the gap behind (optional). "Yes" to merge vertexes. Always yes, if that comes up.
I've done the top half here.
Notice how it does not overlap with the wall (unlike the left side) and fills the gap?
Repeat for the other side, then texture it properly.
>>> Make the curved section a func_detail. <<<
Done!
Second example: External curved wall. (where you do not see the 'near' side)
Start with your two walls.
Again, the curved section will be 128x128.
Create a CYLINDER brush, twice the size you want. Again, a nice side-number, like 16 or 32.
Clip it again, leaving you with just the corner.
>>> Make the corner a func_Detail <<<
Texture properly. And you're done.
You can improve (optimise) the VisLeafs generated by changing the way the corner is made. Hard to describe, but try this:
Basically moved the cylinder "origin" node to one side, merging, and change the wall to match.
Third example: Curved fence (where you can get to both sides).
This one is VERY hard to optimise. No matter what you do, you will get nasty VisLeafs.
Start with your two walls. Again we want a 128x128 curved section.
As the first example, create a full 360 ARCH, twice the size.
Clip off what you don't want.
And that's kinda it.
Texture as normal.
The problem for this is:
If you leave this wall as a world draw, it blocks visibility, BUT generates nasty visleafs, which is bad for optimisation.
If you make it a func_detail, it does not block visibility, but won't generate the nasty VisLeafs.
You'll have to (first understand what i'm talking about, see the FAQ, then) work out which is best for your scenario, and pick.