I use Inkscape, so all references here are to that. Also, it's kinda messy here, I will reformat this later if I get motivated.
I find it easiest to lock every layer except what I'm working on, that makes sure when you click somewhere, it doesn't automatically select something and take you to a different layer.
Use the template (find link), this already has most of the layers built in properly. I might update the template if I get the chance, that will help me out too.
For Germany, openstreetmap.org has great street maps. Instead of using the export image function, I take a high res screenshot, since that will also include the scale bar and easier to size to what you want. Always plan for an area to be covered by the legends box.
Import that image into the Temp Backdrop layer and size correctly (remember CTRL+resizing keeps proportions correct).
Size the grey backdrop to whatever size you wish. Make the Temp Backdrop layer translucent to size it correctly over the backdrop.
If working on a coastal city/region, use the blue blackdrop also.
On the major roads layer, trace over all the major roads. I use the bezier pen tool, since it makes it very easy to get the curves easily lined up. Do not worry about formatting yet, leaving them as thin black lines helps to distinguish which roads have been traced over.
Once all major roads are traced, select them all (CTRL+A) and make them white (FFFFFFFF) with a thickness of 3.5 mm. Zoom out to get the whole map at full screen size and see how these lines look. You might have to adjust the thickness to make them appear 'normal' based on the dimensions of your map.
Repeat these two steps for minor roads, making these approximately 2.0 mm thick.
Create a new layer for pedestrian areas directly under minor roads. Repeat the above steps, but make these lines approximately 1.5 mm thick and color e6e6e6ff.
Typically after this step, I draw in the Main Area of the map, or the area of the city of main importance in the map. Major roads are typically a framework, so I draw an area beneath these. Since the layer is below, the borders should not be visible, and will appear completely within the streets. Use the same color as the square for Main Area in the spare parts box.
If your map has railroads, create a new layer under pedestrian areas.
Railroads are a bit more complex. Trace over one railroad line, then make the line appropriately thick.
Second, copy the track you just made. Paste in place, give it a color of white (#FFFFFFFF). Drop the width down about two clicks, and make it dashed (in Inkscape, I think I used the 18th dash from the bottom, that seemed to be the most balanced (50:50 white:black)). There, now you have some nice looking railroad tracks.
Repeat for other tracks. Since these have an outer stroke, you may have to adjust the height of the grouped "tracks" to make them look nice at splits and junctions.
Road annotations can be added in the annotations layer for each specific type of road. Basically, make a text box with the street name. The text height should fill the width of the street to be easily readable. Align and center this on the street and repeat for all the streets. If you have to make it curve along the road, draw a bezier path along the road, then select the path and text box, and select Put on path from the Text menu.
One note, normally I only include minor road names for roads inside the main area. I include major road names for every major road on the map.
For water, trace over the waterways using the bezier tool. You can create a polygon by connection the end of the bezier path to the first node. Also, you can connect two polygons by using the Path->Union menu option. Water annotations should be in color 3c8d8dff.
Similarly, green areas and parks can be created.
Buildings are very similar, trace over where you want the buildings to be.
Colors and strokes for water, parks, and buildings are available in the "spare parts" sections, just copy the properties of the small squares.
After this, you're almost done. Time to add in the icons for restaurants, hotels, and sights. If you need more than the ones provided up top, just copy and adjust the numbers.
For each symbol you place, you need to add an item to the text box in the annotation layer. This will probably take a lot of trial and error to size everything right (legibility and completeness versus space limitations).
Boom, you have a map. Place in the final symbols for rail/subway/etc stations, public restrooms, tourist information, and ATMs if you like. Export the image as a PNG. Upload both the image and the svg, so others can modify if needed. Good job.