Если предполагается, что исходник придется кому-то отдавать, лучше пользоваться стандартными средствами (в данном случае,
\newtheorem) без собственных оформительских выдумок.
Если все пишется для себя, то (на мой субъективный вкус) лучше пользоваться сторонними пакетами с (относительно) человекопонятным синтаксисом и риском столкнуться в какой-то момент с изменением этого синтаксиса или необходимостью поиска другого пакета (в связи с кончиной ранее используемого), чем через какое-то время
снова разбираться (в случае необходимости внесения изменений) в подобной приведенной в стартовом сообщении темы пакетонезависимой лапше из макросов, автором которой к тому же зачастую является посторонний человек с другим уровнем владения
-ом.