Okay.. I have my opinion to my own question now. Is it an art or mechanical process? Id have to say art.
In this day and age its definitely starting to become more of a mechanical process, with reusing objects (either through libraries or buying), great IDEs such as what .NET provides, error checking that is done for you by compilers with the new languages compared to the minimal checking that was done back in the day of old C compilers. Heck, we even now have visual aids where we can just drag-n-drop components on to our form and hit compile to finish. All of these things are related to machinery or tools, they are produced by a machine and tool, are manual operations, done without thought or emotion, and definitely are "petty" (seriously, most things seem to be done for you).
However, thats just not the case. Sure, to an untrained newcomer to the world of programming this may seem so. If we look deep into the world of software construction, well see that it all comes down to the power of choice, which ultimately in the end gives us skill which is produced by experience, study, or observation.
Sure there may be class libraries full of premade classes and objects for reuse, but which ones do you use that best fits the problem at hand? How about deciding how these objects interact with one another beyond the basic abractions of which they were built upon? Only experience can tell you, and thats the art of design.
Compilers may detect more "mechanical" errors for you, but what about the human errors or simply doing a wrong calculation of 1+1 instead of 1+2, which gives you incorrect results when running the program? Past experience is involved in knowing and figuring out how to easily find and fix these pesty human errors. The art of debugging so to speak.
There is the art of coding, which can never be done by a machine no matter how high level the language is. Choosing the right variable names, method names, or class names, the choice of making one long method or breaking it into several highly cohesive methods, and coding in such a way that changes can be made with ease without having to rebuild half the program.
Last but not least, there is the true guru artistist which can not only solve the current problem elegantly, but also do it in such a manner that they can reuse parts of the current solution in another problem.