You are right that
$b = 'abc';
$a = "This is a variable: {$b}and it's great";
is the same as
$a = "This is a variable: $band it's great";
is the same as
$a = 'This is a variable: ' . $b . 'and it's great';
For safety the first option is best.
For readability go for the second option.
Probably all take the same amount of time to process.
In the example above I didn't leave a space between the variable name and the next word. That might be ok, but what if there was a variable $band. How would PHP know which to use? The {} tell PHP explicitly where a variable name begins and ends.
What you should be aware of are bits of code like:
$a = $HTTP_POST_VARS["name"];
which should be written as
$a = $HTTP_POST_VARS['name'];
as the double quotes tell PHP to expect a variable within the string and to expect to have to parse it. When there is none, then you are wasting time by asking PHP to look.
This answers your first example, where the single quotes are best.
Another thing I see quite often is code like
mail("$email", "$subject","$body");
which should just be
mail($email, $subject, $body);
as they are already strings and don't need to be double handled.