Yingjian's post has some very good points. I wanted to add a bit more, and also some about clustering in Enterprise Miner.
In Enterprise Miner there is the "Cluster" node that is under the Explore tab. This node uses PROC CLUSTER to compute the clustering. In this node there is a Cubic Clustering Criterion (CCC) that attempts to determine the number of clusters while performing the analysis. In general, there aren't many ways to accurately gain a good view of how many clusters there should be a priori, unless information is known about the data before hand.
The best results (average, centroid, ward) requires your definition of best. In centroid based methods, many people will try to define best by looking at the total sum of distances from points to their respective centroid, but in non-centroid based methods this is no longer a useful measure. Ultimately I think the results of your later analysis may be how you want to determine which of the clustering results was "best."
Also available in Enterprise Miner 12.3 and on, there is the "HP Cluster" node that is under the HPDM tab. This node uses PROC HPCLUS to run kmeans clustering. PROC HPCLUS does have the Aligned Box Criterion (ABC) that Yingjian mentioned to determine the number of clusters. If you have the chance to try the HP Cluster node, you may find that it has some capabilities that you would find useful.
---
Also, to address the "best" number of clusters question, Yingjian is correct in that it is very difficult to say what number is best. Even defining what best means in the clustering context can be difficult.
If you are unsatisfied with the results of a single clustering, there is an approach that you can try called consensus clustering. This approach is to cluster the data multiple times and attempt to ensemble the results of all the clustering runs into one final clustering. Enterprise Miner has no node that will do this for you automatically, but you can do this using multiple PROC CLUSTER calls and some other data step code. This would require a SAS code node, but is an interesting approach if you're looking to do something more (it might require a bit of research to get started though).
... View more