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