TikZ kennt für Nodes die `align`-Option:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node [draw, text width=10em, align=center] {Text};
\end{tikzpicture}
\end{document}
Diese funktioniert ggf. auch für mehrzeiligen Text:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node [draw, text width=10em, align=center] {Text};
\end{tikzpicture}
\end{document}
Text, der dann automatisch umgebrochen und zentriert wird.
Und natürlich geht es für auch ohne explizite Breitenangabe:
Breitenangabe, wenn man manuell umbricht:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node [draw, align=center] {Text\\und Text};
\end{tikzpicture}
\end{document}
Bei mehrzeiligem und einzeiligem Text wird im vorangegangenen Beispiel die Breite dann automatisch angepasst.
Achtung: `align=center` geht erst ab TikZ 2.10! Mit älteren Versionen geht die Option `text centered`, die heute natürlich auch noch wirkt:
\node [draw, text width=10em, text centered] {Text};
Für einzeiligen mehrzeiligen Text geht das natürlich auch, allerdings hat die Zentrierung dann keinen Einfluss gibt es noch clevere Lösungen mit Zentrieren und ergibt damit wenig Sinn.automatischer Breite, siehe Elkes Lösung in: [Wie kann ich in einer TikZ Node einen Zeilenumbruch vornehmen?][1]
[1]: http://texwelt.de/wissen/fragen/4024/wie-kann-ich-in-einer-tikz-node-einen-zeilenumbruch-vornehmen