This tutorial is based on a gimp-python script, and as such is aimed squarely at users of The GIMP.
It will show you how to edit the existing castle tiles while making sure they continue to line up properly in game. The same technique can be used for any tiles which work on the same principle (such as Eleazar's new canyons, or Scott's indoor walls).
Editing the Existing Castles
Step 1: Open
Open the overlay template in The GIMP.
Find the castle tiles you want to modify and drag them onto your image. This should add each castle image as a separate layer. In this case I'm modifying the "castle-convex" parts of pekka's castles. Press 'M' and move the layers around so that the images line up around the central white hex. The layers should snap to the guides in the overlay template, so this should be easy to get exactly right.
You can hide the guides (as I've done here) by pressing shift-control-T, or deselecting "show guides" in the "View" menu.
Step 2: Edit
Edit the castle to your heart's content. Here I'm just going to put some annoying little flags on top. Make sure you edit one corner at a time, and that you keep each corner on a separate layer. It's useful to turn "Snap to Guides" off (in the "View" menu) if you're doing any freehand drawing.
Step 3: Save
Now to save the edited castle. First, make everything except for one corner invisible.
Then run the "WesCutter" script. If you've extracted the plugin to the right place, it should be found under "Wesnoth" in the Gimp "Python-Fu" menu. You'll be doing this again, so click the dotted line to detach the Wesnoth menu and save yourself a few clicks.
The script lets you choose a directory to save the file in (I'm saving to my desktop), the base filename (in this case, "castle"), whether it's a concave or convex image (added to the filename) and which corner it is (in this case, NW).
After clicking on "OK", I have a shiny new image called "castle-convex-nw.png" on my desktop, just the right size to work in Wesnoth. After doing this with all 6 corners, you can put them in the "images/terrain" subdirectory of your userdata directory (see EditingWesnoth). If you've put them in the right place, your new castles will automatically replace the old ones next time you run wesnoth .