The package boxes and unboxes the title, presumably to measure something. Possibly it shouldn't, and instead throw away the box and re-set the original tokens (although setting things twice can have bad effects too). But an unboxed list is not the same as directly setting the original tokens, compare:

\documentclass[12pt,a6paper]{article}
\usepackage{titlesec}
\usepackage[textwidth=79mm]{geometry}
\begin{document}
aaaaaaaaaaaaaaaaaaaaaaaaaaaa self-evident
aaaaaaaaaaaaaaaaaaaaaaaaaaaa \setbox0\hbox{self-evident}\unhbox0
\end{document}
You can replace the use of \sbox
by a version \Sbox
that preserves the hyphenation penalties:
Version 3 for Javier, supporting forced line breaks:

\documentclass[12pt,a6paper]{article}
\usepackage{titlesec}
\usepackage[textwidth=79mm]{geometry}
\makeatletter
\def\Sbox#1#2{%
\setbox\z@\vbox{\hsize\maxdimen%
#2\par
\global\setbox#1\box\voidb@x
\loop
\setbox\z@\lastbox
\global\setbox#1\hbox{%
\ifvoid#1\else\unhbox#1\hfill\break\fi
\unhbox\z@
\unskip\unskip\unpenalty}%
\unskip\unskip\unpenalty
\ifnum\lastnodetype=\@ne
\repeat
}}
%
\def\ttlh@runin#1#2#3#4#5#6#7#8{%
\global\@noskipsectrue
\gdef\ttl@makeline##1{##1}%
\ttl@changecentercr
#1{\ifhmode\ttl@hmode@error\fi
\Sbox%\global\sbox
\ttl@box{%
\ttl@calc\hspace{#6}%
\ifttl@label{\strut#2}\ttl@calc\hspace{#3}\fi
#4{#8}#5\unskip}}%
\gdef\@svsechd{\unhbox\ttl@box}}
\makeatother
\begin{document}
\paragraph{I guess we'll have to make a few trade-offs.} That's really the
truth of the matter, isn't it? It's just a reality we'll have to face.
\paragraph{I have to say, that's a very\\twentieth-century mindset.} Frankly,
you need to update your way of thinking and stop living in the past.
\paragraph{We hold these truths to be self-evident.} That all men are
created equal, that they are endowed by their creator with certain
unalienable rights, that among these are life, liberty, and the pursuit of
happiness.
\end{document}
version 2:
\documentclass[12pt,a6paper]{article}
\usepackage{titlesec}
\usepackage[textwidth=79mm]{geometry}
\makeatletter
\def\Sbox#1#2{%
\setbox\z@\vbox{\hsize\maxdimen%
#2\par
\global\setbox#1\lastbox
\global\setbox#1\hbox{\unhbox#1\unskip\unskip\unpenalty}}}
%
\def\ttlh@runin#1#2#3#4#5#6#7#8{%
\global\@noskipsectrue
\gdef\ttl@makeline##1{##1}%
\ttl@changecentercr
#1{\ifhmode\ttl@hmode@error\fi
\Sbox%\global\sbox
\ttl@box{%
\ttl@calc\hspace{#6}%
\ifttl@label{\strut#2}\ttl@calc\hspace{#3}\fi
#4{#8}#5\unskip}}%
\gdef\@svsechd{\unhbox\ttl@box}}
\makeatother
\begin{document}
\paragraph{I guess we'll have to make a few trade-offs.} That's really the
truth of the matter, isn't it? It's just a reality we'll have to face.
\paragraph{I have to say, that's a very twentieth-century mindset.} Frankly,
you need to update your way of thinking and stop living in the past.
\paragraph{We hold these truths to be self-evident.} That all men are
created equal, that they are endowed by their creator with certain
unalienable rights, that among these are life, liberty, and the pursuit of
happiness.
\end{document}
original workaround is to force -
to act like an explicit hyphen even when unboxed:

\documentclass[12pt,a6paper]{article}
\usepackage{titlesec}
\usepackage[textwidth=79mm]{geometry}
\begin{document}
\paragraph{I guess we'll have to make a few trade\mbox{-}\penalty\exhyphenpenalty offs.} That's really the
truth of the matter, isn't it? It's just a reality we'll have to face.
\paragraph{I have to say, that's a very twentieth\mbox{-}\penalty\exhyphenpenalty century mindset.} Frankly,
you need to update your way of thinking and stop living in the past.
\paragraph{We hold these truths to be self\mbox{-}\penalty\exhyphenpenalty evident.} That all men are
created equal, that they are endowed by their creator with certain
unalienable rights, that among these are life, liberty, and the pursuit of
happiness.
\end{document}
trade\-offs
.trade\-offs
or justtradeoffs
the line will be broken correctly. It's willing to break at a discretionary hyphen, just not an actual hyphen.