Surprised to see my blog post link in the question. Nowadays, you don't need much manual processing when buying vendor data (TomTom, Navteq) and trying to use within ArcGIS. Esri has released a custom toolbox which makes it possible to compile raw shapefiles into network dataset that are ready to route on (of course taking into account restricted turns, vehicle type restrictions, signposts etc). The Esri Street Data Processing toolbox is free and can be obtained from ArcGIS.com (direct link). The source code (C# .NET) is provided, so you might tweak it to your needs if required. I just use the compiled toolbox very often and it works fine.
OSM is another great source of data to get started as others suggested. I find it often so much easier though to download OSM data directly through http://market.weogeo.com/ which allows you to specify the geographic area, the layers you want to download, and the format. It is just so much easier to get started then. You would use core ArcGIS tools to built your own network dataset.
If you are looking for a more automated way of network dataset building, consider looking at another blog post of mine where I describe how to use North52 Java-based network data processing tool for ArcGIS network dataset compiling.
If you don't have to have the GIS data at your disposal, using premium Esri ArcGIS Online for Organizations routing service might be an alternative. You access the service directly from ArcMap (no need to have a local network dataset) by obtaining ArcGIS Online subscription (30-day trial available) and then paying tiny fee each time you route (the cost calculator is available too). This might work really well in cases when you need a simple routing and don't want to spend large amount of money on initial data collecting.