Wolves almost took the lead when Nathan Byrne latched on to Bjorn Sigurdarson's cross, but David Button saved.
Brentford fought back as Alan Judge hit the outside of the post from long range before Swift's deflected shot put the hosts in front before half-time.
Sergi Canos found Brentford's second from an acute angle before Swift stabbed in a second from close range.
Prior to Swift and Canos extending the hosts' lead, Kevin McDonald could have forced an equaliser for Wolves when he drove a shot from 20 yards that forced Button into a fine low save.
Brentford, who came into the game on the back of a winless run of three matches, moved up three places to 11th in the Championship.
Wolves slip to 15th with their last three points coming in their 3-2 win against Fulham on 12 January.
Brentford manager Dean Smith:
Media playback is not supported on this device
"It was a really good performance matched by the result and a clean sheet too. We wanted to start on the front foot with three ball carriers and I thought we did that.
"We have conceded sloppy goals in previous weeks from our point of view so this will give the lads a lot of confidence. We won't rest on our laurels though because it's tough every week in this league."
Media playback is not supported on this device
Wolves boss Kenny Jackett:
"The games come thick and fast and we need to make it more competitive and closer than today because by the end they were three goals better than us.
"It wasn't a good feeling on the side and we didn't get anything out of the game. We have difficult games coming up and need to find resolve and character to change things around."

Media playback is unsupported on your device
19 August 2014 Last updated at 11:03 BST
Flight engineers Oleg Artemyev and Aleksandr Skvortsov launched a small satellite named Chasqui I.
It is a joint project between the Russian Federal Space Agency and the Peruvian government.
The two cosmonauts, which is the Russian term for astronauts, are also carrying out maintenance on the ISS during the spacewalk.

Wiltshire Police arrested three boys from Swindon aged 16, 14 and 13 in connection with the incident.
The younger boys were charged with common assault and public order offences, and the 16-year-old was released with no further action.
The 14-year-old will appear before Swindon Magistrates' Court later.
The 13-year-old has been bailed to appear at Swindon Youth Court on 23 June.
John Swift scored twice for Brentford as the Bees stretched Wolves' winless run to seven matches.
[NEXT_CONCEPT]
Two Russian cosmonauts have set off on a spacewalk from the International Space Station (ISS) to launch a nano-satellite.
[NEXT_CONCEPT]
Two teenagers have been charged with assault after a video was posted on Facebook showing a boy being bullied by a gang of youths in Swindon.